javascript - 私有(private)与公共(public) Javascript 函数

标签 javascript

有人可以解释一下这两个函数之间的区别吗?

(function(Engine, $, undefined) { //hidden from scope
    //public function below
    Engine.Init = function() {
        console.log("IM PUBLIC");
    }

    //anonymous functions below
    function Login() {
        console.log("IM PRIVATE");
    }
})( window.Engine = window.Engine || {}, jQuery );

具体来说,我想知道为什么 Engine.Init()Console 中可用,但 Login 不可用。

最佳答案

Init 是引用函数的 Engine 对象的属性。
您可以像访问任何其他属性一样访问它。

Login 是匿名的“立即调用的函数表达式”(IIFE) 中的局部变量;像其他局部变量一样,它的名字只在声明函数中可见

关于javascript - 私有(private)与公共(public) Javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18255823/

相关文章:

javascript - 在 dhtmlx 甘特图中垂直滚动时,任务行和网格行未正确对齐

javascript - 比较一个时区的日期与另一时区的日期

javascript - react 查询获取旧数据

javascript - jQuery 中的无限时间间隔

javascript - 如何将 Vue 的主应用渲染到 body 元素?

javascript - ESLint:我如何告诉 eslint 忽略 Coldfusion 评论

javascript - 获取基础下拉列表中选定的列表值

javascript - 使用javascript生成不超过整数的唯一id

javascript - 如何以编程方式清除 javascript 控制台?

javascript - 使用 Node.js + Cheerio 进行抓取 - 重复,选择器内的选择器会创建重复的返回