变量声明的区别?

var a = 10 ;

var a = (function(){
    return 10 ;
})();

之间有什么区别呢?

阅读 2.4k
4 个回答
// 最后a都是10.
// 只不过后者是函数的返回值。函数可以自己写。比如:
var b = 2;
var a = (function(){
    if(b === 2){
        return 10;
    }else{
        return b;
    }
})();

从最终赋值上面来说没有什么差别,但是为何一定要绕一圈才达到目的呢。。

新手上路,请多包涵

论结果,一样;论过程,完全不一样。对于后者,没有区别可言

你那样没区别。这么着就有区别了。

var a1 = {key: 'value'}
var a2 = function () {return {key: 'value'}}
var b1 = a1
var b2 = a1
var c1 = a2()
var c2 = a2()
b1.key = 'test'
c1.key = 'test'
console.log(b2)
console.log(c2)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题