刚开始学习js并使用Javascirpt这本书是《绝对入门指南》。问题来自书中的一个例子:
var awesomeSauce = (
function () {
var secretCode = "Zorb!";
function privateCheckCode(code) {
if (secretCode == code) {
alert("You are awesome!");
} else {
alert("Try again!");
}
}
// the public method we want to return
return {
checkCode: privateCheckCode
};
})();
问题是我该如何调用此代码?
awesomeSauce("Zorg!");
不起作用,也不起作用
awesomeSauce().privateCheckCode("Zorg!");
最佳答案
awesomeSauce.checkCode("Zorg!");
IIFE返回具有
checkCode
属性的对象,该属性是(专用)函数。IIFE的要点是将变量和函数包含在其中,这样就无法从外部访问它们(例如,
privateCheckCode
和secretCode
仅存在于IIFE内部)。将返回的对象视为所选值或功能的“导出”。