Я вижу много кода вроде:
var myApp ={};
(function() {
console.log("Hello");
this.var1 = "mark"; //"this" is global, because it runs immediately on load. Caller is global
myApp.sayGoodbye = function() {
console.log("Goodbye");
};
})();
Это приводит к немедленному выполнению анонимной функции. Но в чем преимущество этого, по сравнению с просто введением кода в строку?
var myApp ={};
console.log("Hello");
var1 = "mark";
myApp.sayGoodbye = function() {
console.log("Goodbye");
};
По-видимому, это связано с областью действия функции, но поскольку функция анонимна и вызывается окном, ее область (т.е. this
) является глобальной, no?