扫码关注官方订阅号
var handles = this._handles || (this._handles = {})在这个表达式中this._handles这个变量何时为真,何时为假啊this._handles = {}还有这个复制表达式到底是真是假啊,这个语句到底想表达什么?
走同样的路,发现不同的人生
这句的意思是:1,声明变量handles,它先取this._handles的值2,如果this._handles是假值(不存在),则将this._handles设为一个{}3,再将this._handles赋给变量
其实就是先判断this._handles是否有值,没有值就赋值,最后赋给变量
你先看=右边的部分,思路就清晰了
如果this._handles为真,则取this._handles的值,否则则给this._handles赋值为空的Object{}。
{}
这个表达式的意思是:
当this._handles为null或者undefined或者0或者false或者空字符串的时候,给this._handles赋值为{},并且将{}也赋值给var handles。
this._handles
null
undefined
0
false
var handles
当this._handles不为null并且undefined并且0并且false并且空字符串的时候,直接把this_handles的值赋值给var handles
this_handles
当 this._handles 为假值(0, undefind, null, false) 时,为 false,反之为 true。
undefind
true
|| 的作用是,如果前面的表达式为真就取前面的值,否则计算后面的。
||
(表达式)的作用是执行其中的表达式并返回值,如果括号中有多个表达式(如:(a=1,b=2))就返回最后一个表达式的值。
(表达式)
(a=1,b=2)
整个表达式的作用是:如果this._handles为真值,就把它的值赋给handles;如果为假值,就初始化为一个对象,并把值赋值handles。
handles
var handles; if (this._handles) { handles = this._handles; } else { this._handles = {}; handles = this._handles; }
就是上面这段代码的意思,写成一行要简洁一点。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
这句的意思是:
1,声明变量handles,它先取this._handles的值
2,如果this._handles是假值(不存在),则将this._handles设为一个{}
3,再将this._handles赋给变量
其实就是先判断this._handles是否有值,没有值就赋值,最后赋给变量
你先看=右边的部分,思路就清晰了
如果this._handles为真,则取this._handles的值,否则则给this._handles赋值为空的Object
{}。这个表达式的意思是:
当
this._handles为null或者undefined或者0或者false或者空字符串的时候,给
this._handles赋值为{},并且将{}也赋值给var handles。当
this._handles不为null并且undefined并且0并且false并且空字符串的时候,直接把
this_handles的值赋值给var handles当
this._handles为假值(0,undefind,null,false) 时,为false,反之为true。||的作用是,如果前面的表达式为真就取前面的值,否则计算后面的。(表达式)的作用是执行其中的表达式并返回值,如果括号中有多个表达式(如:(a=1,b=2))就返回最后一个表达式的值。整个表达式的作用是:如果
this._handles为真值,就把它的值赋给handles;如果为假值,就初始化为一个对象,并把值赋值handles。就是上面这段代码的意思,写成一行要简洁一点。