Aki*_*nza 1 javascript backbone.js
我想知道这行是做什么的:
foo || (foo = this.foo)
Run Code Online (Sandbox Code Playgroud)
在以下函数定义中
someFunction: function(foo)
{
foo || (foo = this.foo);
...
}
Run Code Online (Sandbox Code Playgroud)
这通常可以写成:
someFunction: function(foo)
{
foo = foo || this.foo;
// do something with foo
}
Run Code Online (Sandbox Code Playgroud)
它只是将foo参数设置为上下文的foo实例变量,如果:
someFunction 没有参数调用someFunction使用falsy诸如false,空字符串,0,null或undefined之类的参数调用.举个例子,假设someFunction是在对象文字中定义的,如下所示:
var myObject = {
foo: "default value of foo",
someFunction: function(foo)
{
foo = foo || this.foo;
// do something with foo
}
}
Run Code Online (Sandbox Code Playgroud)
这样,如果需要,someFunction参数可以foo回退到默认值.
| 归档时间: |
|
| 查看次数: |
514 次 |
| 最近记录: |