javascript的申明对象和函数的问题

var setInter = function () {
    return {
        init:function () {
            return null;
        }
    };
}();

上面这段代码是什么意思? function 后面的()代表什么 ?

方法里面的return会在第一次加载的时候就运行吗 ?

阅读 2.7k
3 个回答
var setInter = function () {
    return {
        init:function () {
            return null;
        }
    };
}();

上面这段代码是什么意思?---->意思是当编译器执行到此处是,会立即执行function并将return的对象传给serInter。
function 后面的()代表什么 ?---> 等同于(function(){})();
方法里面的return会在第一次加载的时候就运行吗 ?---->不会,只会返回对象给setInter,你可以调用setInter.init()试试看

上面的基本等价于

function fn() {
    return {
        init:function () {
            return null;
        }
    };
}
var setInte = fn();

只是题中的声明函数后立即执行,称为立即执行函数。

function setInter() {
    var a = {};
    a.init = function() {
        return null;
    }
    return a;
}

setInter();

或许这样你会好理解一点。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题