关闭代码非常简短:
var fn = function() {
return function() {
console.log(arguments);
}
}
(function(arg) {
console.log('bar');
})('foo');
Run Code Online (Sandbox Code Playgroud)
为什么["foo"]打印而不是bar?如果我注释掉var fn = ...,结果是预期的并bar打印出来.这两段代码如何相关?
Dam*_*vic 31
如果没有后分号}的fn,你实际上是调用fn带有参数(function...).
如果添加缺少的分号,它会按预期工作:
var fn = function () {
return function () {
console.log(arguments);
}
};
(function (arg) {
console.log('bar');
})('foo');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
600 次 |
| 最近记录: |