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

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

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

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

# JavaScript
黄舟 黄舟 3401 天前 837 次浏览

全部回复(3) 我要回复

  • 高洛峰

    高洛峰2017-04-11 12:33:20

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

    回复
    0
  • PHP中文网

    PHP中文网2017-04-11 12:33:20

    上面的基本等价于

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

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

    回复
    0
  • PHPz

    PHPz2017-04-11 12:33:20

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

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

    回复
    0
  • 取消 回复 发送