Кто-нибудь может сказать, почему глобальная область не применима в следующем случае?Почему строка № 6 печатается неопределенной?Разве внешнее «это» не должно быть доступно во внутренней самореализующейся функции?
var myObj = {
test1 : 4,
func : function(){
console.log(this.test1); //prints 4
(function(){
console.log("From self-executing function : " + this.test1); //prints undefined
})();
}
};
myObj.func();
Где как, в следующем случае глобальная область работает нормально.test1, объявленный во внешней области видимости, прекрасно доступен во внутренней функции.
var test1 = 10;
(function(){
console.log("From self-executing function : " + test1); //prints 10
})();
Может кто-нибудь объяснить, что мне не хватает, чтобы понять здесь?