cleverpope
@cleverpope
Human developer (JavaScript / Swift)

На что ссылается ключевое слово this?

Вообщем есть такой пример:

'use struct';

Function.prototype.bind = function(o){
  var self = this,
      boundArgs = arguments;

  return function() {
    var args = [], i;

    for (i = 1; i < boundArgs.length; i++) args.push(boundArgs[i]);
    for (i = 0; i < arguments.length; i++) args.push(arguments[i]);
    return self.apply(o, args);
  };
};

function hello(){
  return console.log(this.name);
}

var a = {
  name: 'Alex'
};

var x = hello.bind(a);

x()


Возвращаемая функция из внешней функции возвращает self.apply(o, args);
Вопрос: На что ссылается self? (ну или на что ссылается this внешней функции ).
  • Вопрос задан
  • 350 просмотров
Решения вопроса 1
miraage
@miraage
Старый прогер
В данном вызове, hello.bind, hello представляет из себя Object Function.
На него и ссылается.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Если функция вызывается как метод, то ключевое слово this будет указывать на текущий объект, если как функция то this будет указывать на глобальный объект в нестрогом режиме и в строгом на undefined.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы