Это ключевое слово в JavaScript. Значение этого изменится в зависимости от использования функции. Но всегда есть принцип, то есть это относится к объекту, который называет функцию.
На традиционном языке OO этот указатель объявлен в классе и представляет сам объект. В JavaScript это представляет текущий контекст, то есть ссылку вызывающего абонента.
******* Это всегда указывает на владельца (функциональный объект)
Это и глобальные объекты:
var a = 1; функция foo () {var b = 2; console.log (this.a+b); // 3} foo (); // Владелец функции Foo - это окно, и это относится к объекту Window в глобальной функции (************, если только новый вызов, применение, методы применения не используются для изменения эталонной отношения этого)Это и объект:
var person = {name: 'Theo Wong', пол: 'male', getName: function () {console.log (this.name); // Владелец функции getName - это личный объект}}; Person.getName ();Это в вложенных функциях
var myObject = {func1: function () {console.log (this); // myObject var func2 = function () {console.log (this); // window var func3 = function () {console.log (this); // window} (); } (); }}; myobject.func1 (); // в вложенных функциях, поскольку контекст выполнения вложенной функции - это окно, это относится к окно -объекту. На самом деле, это ошибка в ECMA-262-3, которая была зафиксирована в последнем ECMA-262-5Это в обработке событий:
var showValue = function () {alert (this.value); };1. <input id = "test" type = "text" />
СОБЫТИЕ СВЯЗИ через dom.onclick, document.getelementbyid ('test'). Onclick = showValue;
В настоящее время ShowValue называется как метод DOM OnClic
2. Напишите его в теге HTML, <input id = "test" type = "text" onclick = "showValue ();" />
Нажав на DOM, мы не можем получить правильное это. Это в это время относится к окно -объекту. Поскольку в окне нет значения, это не может быть получено.
*** В настоящее время он не назначает функцию ShowValue на Onclick объекта DOM, а ссылку. В настоящее время владелец функции function () - это окно
document.getElementById ('test'). OnClick = function () {showValue ();}Слушание событий привязки через AddeventListener/AttachEvent
<input type = "text" id = "test" /> <script type = "text /javascript"> var dom = document.getelementbyid ('test'); id = 'window'; function test () {alert (this.id); } dom.AddeventListener? Dom.AddeventListener ('click', test, false): dom.attachevent ('onclick', test); // AddEventListener Test // atchentevent window </script> // Этот способ привязки мониторинга событий, AttactEvent Это окно -объект, а addEventListener - это объект DOMЭто и построить:
Функция obj (имя, возраст) {this.name = name; this.age = возраст; this.fun = function () {alert (this.name); }; } var obj = new obj ('xht', 18); // Это относится к этому новому объекту, новое изменяет справочную связь этого obj.fun (); // xhtЭто и звоните
// Определите человека с именем gack var jack = {name: "jack", возраст: 26} // Определите другого человека с именем abruzzi var abruzzi = {name: "abruzzi", возраст: 26} // определить функцию глобальной функции функции alertname () {return this.name; } // Установить контекст AlertName для Джека, и это в настоящее время - jack alert (alertname.call (jack)); // Установить контекст AlertName на Abruzzi, и это в настоящее время Abruzzi Alert (alertname.call (abruzzi));Цитаты являются относительно интересной темой. В отличие от других языков, ссылки в JavaScript всегда указывают на конечный объект, а не на саму ссылку.
var obj = {}; // пустой объект var ref = obj; // ссылка obj.name = "objecta"; оповещение (ref. name); // ref затем добавить атрибут имени obj = ["One", "two", "three"]; // OBJ указывает на другой объект (объект массива) оповещение (ref.name); // ref также указывает на исходное оповещение объекта (obj.length); // 3 оповещение (ref.length);OBJ - это просто ссылка на анонимный объект, поэтому Ref не указывает на него.
Ссылка может указывать только на конкретный объект. Когда конкретный объект меняется, ссылка или ссылка на исходный объект, а не на измененный объект.
Выше приведено информация об этом указателе и ссылке в JavaScript, представленную вам редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!