Четыре формы существования функций:
1. Функциональная морфология
2. Форма метода присваивает функцию члену определенного объекта, который называется методом.
3
4. Контекстуальная форма
1. Форма функции:
var foo = function () {alert (this); // это окно};2. Форма метода:
o = {}; o.foo = foo; // назначить функцию foo атрибуту foo Object o.foo (); // всплывает объект, и это в настоящее время представляет объект var lib = {test: function () {alert (this); // это здесь представляет объект (сам объект lib) // var that = this; // Если вы хотите, чтобы это представил объект LIB в анонимной функции, вы можете сделать это (function () {alert (this); // Анонимная функция здесь не принадлежит объекту LIB, поэтому это все еще представляет Window}) (); }}; lib.test ();3. Конструктор (конструктор) var p = new Person ();
1. Новый создает объект и открывает пространство
2. Передайте справочный адрес объекта к функции и приобретите его с этим в функции.
3. Выполнение метода строительства заканчивается, верните это
var person = function () {this.age = 19; this.name = "mrjing"; return "{}";}; var p = new Person (); Alert (p.name); // всплывающее окно неопределенное. Поскольку функция возвращает объект, объект напрямую возвращается человеку, а атрибут возраста и имени игнорируется var person = function () {this.age = 19; this.name = "mrjing"; return 123;}; var p = new Person (); Alert (p.name); // «Мржин» появляется. Поскольку возвратное значение не является объектом, оповещение о возвратном значении (P); // Popt Up ObjectВещи, которые были изменены, включают: конструктор изменяет возвратное значение функции; Если возвращаемое значение функции является объектом, возвращайте в соответствии с возвратным значением; Если возвращаемое значение не является объектом, игнорируйте возвращаемое значение и напрямую верните это;
4. Function Function Function.Apply (объект, [список параметров])
var foo1 = function (a, b) {alert (this); вернуть A> B? A: b;}; var num = foo1.apply (null, [112, 34]); // В настоящее время Foo1 является формой функции, это означает Windownum = foo1.apply ({}, [112, 34]); // В настоящее время Foo1 является формой метода, это означает, что объект, переданный в параметре {}function.call (объект, список параметров);
var num1 = foo1.call (null, 112,34); num1 = foo1.call ({}, 112,34); // За исключением списка параметров, остальное такое же, как и применитьВ приведенной выше статье кратко обсуждаются четыре формы функций JavaScript. Это весь контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.