0

可能重复:
JavaScript 范围和闭包
JavaScript - 自执行函数

以下代码有什么区别:


var someVar = (function(){
   // some code
})();


var someVar = function(){
   // some code
};

你能给我指点关于第一个代码的用法和解释的教程吗?

在谷歌上很难找到答案,所以我想我会在这里问。

谢谢你。

4

1 回答 1

1

第一个案例

将创建并执行匿名函数。函数结果将存储在someVar.

var someVar = (function(){
    console.log('function executed');
    return 1;
})();
// function executed
console.log(someVar);
// 1

第二种情况

将创建匿名函数,它的引用将存储在someVar.

var someVar = function(){
    console.log('function executed');
    return 1;
};

var result = someVar();
// function executed
console.log(result);
// 1
于 2012-06-18T20:44:37.673 回答