刚开始学习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的要点是将变量和函数包含在其中,这样就无法从外部访问它们(例如,privateCheckCodesecretCode仅存在于IIFE内部)。

将返回的对象视为所选值或功能的“导出”。

08-19 14:09