Lar*_*ndt 2 javascript anonymous-function
随着Promises趋势上升,我们经常会看到:
getSomeData.then(
// success
function(data) {
...
},
// failure
function(error) {
...
}
);
Run Code Online (Sandbox Code Playgroud)
这些评论可能对新手有所帮助,但我更喜欢命名匿名函数,如下所示:
getSomeData.then(
function success(data) {
...
},
function failure(error) {
...
}
);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,命名匿名函数是有道理的,但它是否安全?我在这里看过较旧的帖子,引用这篇文章作为关于IE的警告,但有人知道这是否仍然是IE9的问题?
是的,使用命名函数表达式是安全的1.您提到的错误在IE9中不再存在(尽管在IE8中也是如此).
命名表达式的另一个优点是用于调试.而不是(anonymous),你会看到一个有意义的名字.
1
对于那些不知道的人:在Internet Explorer(包括版本8)中,命名变量将在以下代码中泄漏:
var expressionName = function shouldNotLeak() {};
shouldNotLeak(); // Error in all browsers except for Internet Explorer <= 8
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |