Здравствуйте, есть вопрос, имеется такой код.
var obj = {
num: 10,
method: function(){
function test(){
console.log(this.num);
}
test();
}
}
obj.method(); // undefined
Он вернёт undefinded т.к контекст вызова функции test глобален.
Но если мы в начале объявим переменную num и присвоем ей значение.
То будет выведен результат глобального контекста.
var num = 11;
var obj = {
num: 10,
method: function(){
function test(){
console.log(this.num);
}
test();
}
}
obj.method(); //11
Проверял в ноде и браузере и оно работает. Но в ноде работает только в режиме REPL, а если я скармливаю ему скрипт из файла то возвращает результат undefined, можете пожалуйста подсказать почему так происходит?