两个自调用函数之间的JavaScript差异?

时间:2018-06-19 08:57:50

标签: javascript ecmascript-6

自我调用函数的方法在JavaScript中有什么区别?

第一个变体:

window.identityServer = (function () {
    const identityServer = {
        getModel () {
            const model = JSON.parse(Encoder.htmlDecode(encodedJson))

            return model
        },
    }

    return identityServer
})()

第二个变体:

(function () {
    const identityServer = {
        getModel () {
            const model = JSON.parse(Encoder.htmlDecode(encodedJson))

            return model
        },
    }

    return identityServer
})(window.identityServer)

1 个答案:

答案 0 :(得分:3)

第一个将window.identityServer设置为函数中创建的对象。

第二个没有。它将window.identityServer作为参数传递,不使用它,并且不对返回值执行任何操作。它最终什么都不做。