自我调用函数的方法在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)
答案 0 :(得分:3)
第一个将window.identityServer
设置为函数中创建的对象。
第二个没有。它将window.identityServer
作为参数传递,不使用它,并且不对返回值执行任何操作。它最终什么都不做。