有人可以解释这两个功能之间的区别吗?
(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 );
Run Code Online (Sandbox Code Playgroud)
具体来说,我想知道为什么Engine.Init()可用,Console但Login不是.
Init是Engine引用函数的对象的属性.
您可以像任何其他财产一样访问它.
Login是匿名的一个局部变量,"立即调用的函数表达式"(IIFE); 与其他局部变量一样,其名称仅在声明函数中可见