
(inner.func)() 这段代码。 第一个括号里应该是会返回一个函数的吧,如果看成下面这样
(inner.func)() 等价于

这样的话 那么这个函数的this就是window了,那么this.out就是10,显然是不对的
我觉得可能可以看成是这样的(inner.func)() 等价于

所以是怎么去理解这个括号运算符呢?你们怎么看?。。。。。。。。。。。
额。。这里补充一下。。。可能我没说清楚,你们说的什么this的指向。。这些我都懂
其实我是想问问js的括号运算符,看看你们怎么理解
就是
(inner.func)() 这样一个表达式 (inner.func) 给 inner.func 加上这么一个括号能让其发生什么变化吗? 看起来是并没有变化。 因为我看到其他地方有人说()这个运算符会去取其中函数的引用。所以上面的两段代码
(function () { var out = 30; return this.out;
})()这一段,意味着取得只是func的引用,这显然是不符合真实的运行结果的。
而我自己模拟出来的一段代码
var newFunc = func.bind(inner) // 前一个括号返回了这个newFunc() // 第一个括号运行
可以比较好的符合(inner.func) 的实际效果
回首忆惘然
慕尼黑8549860
随时随地看视频慕课网APP
相关分类