js область видимости

277
09 июля 2017, 15:00

Доброго времени суток.

Как можно обратиться к name объекта t и можно ли вообще ?

var t = {
name:123,
fio: () => {
    console.log(this.name)
    }
}
Answer 1

В случае использования стрелочной функции для метода - только через переменную t, так как внутри такой функции - контекст тот же, что и в месте ее объявления. Вызов console.log(this.name); выводит в консоль window.name.

var t = { 
  name:123, 
  fio: () => { 
    console.log("this.name = " + this.name) 
    console.log("t.name = " + t.name) 
  } 
} 
 
t.fio(); 
console.log(t.name); 
console.log(window.name);

С обычной функцией, this - объект, на котором происходит ее вызов.

var t = { 
  name:123, 
  fio: function() { 
    console.log("in fio = " + this.name) 
  }, 
  fio1() { 
    console.log("in fio1 = " + this.name);  
  } 
} 
 
t.fio1(); 
t.fio(); 
console.log(t.name); 
console.log(window.name);

READ ALSO
Заблокировать закрытие модального окна по нажатию на сабмит bootstrap 4

Заблокировать закрытие модального окна по нажатию на сабмит bootstrap 4

Подскажите, пожалуйста, как отменить стандартное бутстраповское закрытие модального окна по клику на сабмитДелаю это с целью добавить проверку...

366
Javscript Freshman [требует правки]

Javscript Freshman [требует правки]

Здравствуйте, подскажите пожалуйста как можно начать проектировать в Javascripte отдельно ?

251
Поиск внутри блока

Поиск внутри блока

есть блок со списком

301
Как добавить класс элементу в случае успешного срабатывания ajax?

Как добавить класс элементу в случае успешного срабатывания ajax?

Есть элемент, по клику на сервер уходит запрос, в случае, если с сервера приходит ответ, этому элементу должен прислониться класспробовал...

260