两个自调用函数之间的JavaScript差异?
JavaScript中自调用函数的方法有什么不同 第一种变体:两个自调用函数之间的JavaScript差异?,javascript,ecmascript-6,Javascript,Ecmascript 6,JavaScript中自调用函数的方法有什么不同 第一种变体: window.identityServer = (function () { const identityServer = { getModel () { const model = JSON.parse(Encoder.htmlDecode(encodedJson)) return model }, } return ide
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)
第一个函数将
window.identityServer
设置为在函数中创建的对象
第二个没有。它将
window.identityServer
作为参数传递,不使用它,也不处理返回值。最后它什么也不做。对于第二个变体,您将window.identityServer
作为参数传递到IIFE@Isaac是的,但是函数不接受任何参数,所以看起来有点毫无意义。这两个函数都不是自调用的。它们都是内联调用的,但它们不是递归的。@Isaac如果我像这样添加参数`(函数(identityServer){`difference?@CertainPerformance-这完全没有意义