当前位置:  开发笔记 > 编程语言 > 正文

双倍括号javascript

如何解决《双倍括号javascript》经验,为你挑选了1个好方法。

我在一本书中找到了这个代码:

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

最后一行是什么意思?



1> ohiodoug..:

最后一行是做一个赋值然后调用该函数.

分配首先发生

(p.foo = o.foo)

然后调用该函数

(p.foo = o.foo)();

在第二次调用foo时,它被调用到p或o的范围之外,所以它与调用基本相同:

foo();

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有