В JS это указание должно быть сложной проблемой для новичков, но если вы действительно это понимаете, проблем не будет. Давайте поговорим об этом ниже.
В JS значение этого зависит от шаблона вызова (объект вызова), и в JS есть 4 типа образец вызова:
1. Режим вызова функции
Когда функция не является свойством объекта, она называется функцией два раза. В настоящее время это в функции указывает на глобальный объект (в случае большого логарифма, это окно)
window.value = 1; function getValue () {console.log (this.value);} getValue (); // Выход 1, этот пункт в окно2. Метод вызова режима
Когда функция является свойством объекта, мы называем это методом объекта. Когда вызывается метод, это указывает на объект
var obj = {value: 2, getValue: function () {console.log (this.value); // Выход 2, это указывает на OBJ}}! ! ! В этом режиме связывание этого с объектом возникает при вызываемом методе
3. Режим вызова конструктора
Функция, вызванная новой, называется функцией конструктора. В настоящее время это указывает на объект, который исходит из экземпляра функции конструктора
Функция main (val) {this.value = val;} main.prototype.getValue = function () {console.log (this.value);} var fun = new Main (3); fun.getValue ();4. Применить режим вызова и привязка
Методы применения, вызов, привязки позволяют нам установить, кто это в вызывающем
Функция showValue () {console.log (this.value);} var obj = {value: 4} showvalue.call (obj) // Выход 4, это указывает на объект OBJВ ECMA5 был добавлен новый метод привязки. Вы можете Google конкретное использование. Вот демонстрация использования этого связывания.
Функция ShowValue () {console.log (this.value);} var obj = {value: 4} var showvalue2 = showvalue.bind (obj); showValue2 () // Выход 4, это указывает на объект OBJЕсть много применений привязки, вы можете проверить это самостоятельно
Вышеупомянутое клише рассказывает об этом в JS - это весь контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.