Joe*_*icz 7 javascript function
我一直在浏览一些gmails javascript(写一个扩展名),而且我已经看过(0, _.ab)(a)或者各种各样的变化.这实现了什么?
我尝试了一些测试,比如
function a(a,b,c){ console.dir(a+b+c); }
(0, a)(1,2,3)
Run Code Online (Sandbox Code Playgroud)
但是我无法理解他们为什么不直接打电话a(1,2,3).调用它(0,a)有什么奇怪的好处吗?
我做了一个jsperf(http://jsperf.com/direct-vs-0-func-calls)来测试这一点,a(1)VS (0,a)(1)似乎是相同的.
编辑:据我所知,google只在需要直接调用函数的地方使用它,例如if ((0, _.wa)(a))(取自gmail的源代码)
Alo*_*kin 11
该(0, func)()语法确保上下文(this在被调用的函数)func是全球范围内.
例如:
var myContext = {
func: function () {
console.log(this);
}
};
myContext.func(); // => myContext
(0, myContext.func)(); // => window
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
174 次 |
| 最近记录: |