@gabejonson
Верстальщик с намеком на Front

Javascript objects?

Ребята вопрос в студию! ;)
var test = {
	getText: function(some) {

	},
	otherSome: function(someOther) {
		this.getText(); // Не работает
		test.getText(); // Работает
	}
}


Почему так?

ЗЫ. А как реализовать такую штуку...? Та которая не работает...
  • Вопрос задан
  • 181 просмотр
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 3
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Почему так?
this ссылается на контекст, в котором функция была вызвана
test.otherSome(); //контекст - test
test.otherSome.call(null); //контекст - null
new test.otherSome(); //контекст - новый объект унаследованный от test.otherSome.prototype
(0, test.otherSome)(); //контекст - undefined (в strict mode) или глобальный объект (не в strict mode)
({ otherSome: test.otherSome }).otherSome(); //контекст - объект который в скобочках

ЗЫ. А как реализовать такую штуку...? Та которая не работает...

Смотрите примеры выше, все кроме первого выкинут ошибку, что либо нельзя читать getText из null/undefined (2, 3 примеры), либо, что getText - не функция (3, 5 примеры)
Ответ написан
Комментировать
@Nc_Soft
this это функция внутри которой вызывается this
Ответ написан
Комментировать
IonDen
@IonDen
JavaScript developer. IonDen.com
Полезно будет про это почитать:
https://learn.javascript.ru/objects-more
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы