有人可以解释一下这两个函数之间的区别吗?
(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/