Xip*_*ias 7 javascript variable-assignment or-operator
我在一本书中找到了这个例子:
// Create _callbacks object, unless it already exists
var calls = this._callbacks || (this._callbacks = {});
Run Code Online (Sandbox Code Playgroud)
我简化了它,以便我不必使用特殊的对象范围:
var a = b || (b = "Hello!");
Run Code Online (Sandbox Code Playgroud)
当定义b时,它可以工作.如果未定义b,则它不起作用并抛出ReferenceError.
ReferenceError: b is not defined
Run Code Online (Sandbox Code Playgroud)
我做错了什么吗?谢谢!
And*_*ark 11
执行属性查找时this._callback,如果_callbacks属性不存在,this则会得到undefined.但是,如果您只是在一个裸名称上查找,b如果b不存在,您将收到引用错误.
这里的一个选择是使用带typeof运算符的三元组,"undefined"如果操作数是一个尚未定义的变量,它将返回.例如:
var a = typeof b !== "undefined" ? b : (b = "Hello!");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10705 次 |
| 最近记录: |