这是一个例子,其中o.foo();3 (p.foo = o.foo)();是2 但是2?
function foo() {
console.log( this.a );
}
var a = 2;
var o = { a: 3, foo: foo };
var p = { a: 4 };
o.foo(); // 3
(p.foo = o.foo)(); // 2”Run Code Online (Sandbox Code Playgroud)
如果我做这样的事情,那么我得到4的就是我想要的东西.这两个例子有何不同?
p.foo = o.foo;
p.foo(); // 4
Run Code Online (Sandbox Code Playgroud)
这个 :
(p.foo = o.foo)();
Run Code Online (Sandbox Code Playgroud)
这样做几乎相同:
d = (p.foo = o.foo);
d();
Run Code Online (Sandbox Code Playgroud)
基本上它所说的是赋值的返回是全局上下文中的函数本身.其中a2.
| 归档时间: |
|
| 查看次数: |
133 次 |
| 最近记录: |