Может ли кто-нибудь объяснить концепцию, стоящую за этим?
предположим, что у нас есть функция как метод объекта:
var myobj = {
myfunc : function () {
console.log(this); // Logs reference to myobj.
}
};
myobj.myfunc();
в то время как вложенная функция внутри той же функции myfunc
будет возвращать ссылку на головной объект (окно):
var myobj = {
myfunc : function () {
( function (){
console.log(this); // Logs reference to head window object.
})();
}
};
myobj.myfunc();
Меня действительно смущает, как это работает, так как я думал, что функция всегда будет возвращать ссылку на родительский объект.
Вопрос в том, является ли это фиксированным правилом, то есть любая вложенная функция всегда будет возвращать ссылку на window
?