Показать сообщение отдельно
  #6 (permalink)  
Старый 12.02.2016, 18:13
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

this - это не глобал, this - это контекст, и в каждой функции он свой.
var globalVariable = "value"; // Вне функций переменные объявляются в глобальной области видимости.
window.globalVariable = "value"; // То же самое, потому что свойства объекта window автоматически попадают в глобальную область видимости
this.globalVariable = "value"; // То же самое, потому что вне функций контекст кода - объект window

mass.forEach(function(item, i, arr) {
  console.log(globalVariable); // Вывести значение глобальной переменной globalVariable. Никакие идентификаторы не нужны, обращение идет просто по имени переменной.
});


Разумеется, код справедлив только при исполнении в браузере, в том же node.js механизм работы с глобалом немного другой (объект global вместо window, this и внешний скоп никогда не равны global).

Последний раз редактировалось Erolast, 12.02.2016 в 18:17.
Ответить с цитированием