Показать сообщение отдельно
  #1 (permalink)  
Старый 26.09.2016, 20:29
Новичок на форуме
Отправить личное сообщение для belozerskiy Посмотреть профиль Найти все сообщения от belozerskiy
 
Регистрация: 26.09.2016
Сообщений: 3

Вопрос по контексту в ноде при исполнении файла.
Здравствуйте, есть вопрос, имеется такой код.

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, можете пожалуйста подсказать почему так происходит?
Ответить с цитированием