Vier Formen der Existenz von Funktionen:
1. Funktionelle Morphologie
2. Die Methodenform zuweist einem Mitglied eines bestimmten Objekts eine Funktion, die als Methode bezeichnet wird.
3. Konstruktorform
4. Kontextform
1. Funktionsform:
var foo = function () {alert (this); // Das ist Fenster};2. Methodenform:
o = {}; o.foo = foo; // Funktion FOO dem Foo -Attribut von Object O.Foo () zuweisen; // Das Objekt taucht auf, und dies repräsentiert zu diesem Zeitpunkt das Objekt var lib = {test: function () {alert (this); // Dies repräsentiert das Objekt (lib -Objekt selbst) // var das = dies; // Wenn Sie möchten, dass dies ein LIB -Objekt in einer anonymen Funktion darstellt, können Sie dies tun (function () {alert (this); // Die anonyme Funktion hier gehört nicht zu einem Lib -Objekt, so dass dies immer noch Fenster darstellt}) (); }}; lib.test ();3.. Konstruktor (Konstruktor) var p = new Person ();
1. Neu schafft ein Objekt und öffnet Platz
2. Übergeben Sie die Referenzadresse des Objekts an die Funktion und empfangen Sie sie damit in der Funktion.
3. Die Ausführung der Konstruktionsmethode endet, geben Sie diese zurück
var person = function () {this.age = 19; this.name = "mrjing"; return "{}";}; var p = new Person (); alert (p.Name); // Das Popup ist undefiniert. Da die Funktion ein Objekt zurückgibt, wird das Objekt direkt an die Person zurückgegeben, und das Alter und das Namensattribut werden ignoriert var person = function () {this.age = 19; this.name = "mrjing"; return 123;}; var p = new Person (); alert (p.Name); // "Mrjing" taucht auf. Da der Rückgabewert kein Objekt ist, ist der Return Value Alarm (P); // Popt -up -ObjektZu den geänderten Dingen gehören: Der Konstruktor ändert den Rückgabewert der Funktion; Wenn der Rückgabewert der Funktion ein Objekt ist, können Sie gemäß dem Rückgabewert zurückgeben. Wenn der Rückgabewert kein Objekt ist, ignorieren Sie den Rückgabewert und senden Sie diese direkt zurück.
4. Kontext -Aufruf -Musterfunktion.Apply (Objekt, [Parameterliste])
var foo1 = Funktion (a, b) {alert (this); A> B zurückgeben? A: b;}; var num = foo1.apply (null, [112, 34]); // zu diesem Zeitpunkt ist foo1 eine Funktionsform, dies bedeutet windownum = foo1.apply ({}, [112, 34]); // zu diesem Zeitpunkt ist Foo1 ein Methodenformular. Dies bedeutet, dass das Objekt im Parameter {} übergeben wurdeFunktion.Call (Objekt, Parameterliste);
var num1 = foo1.call (null, 112,34); num1 = foo1.call ({}, 112,34); // mit Ausnahme der Parameterliste ist der Rest der gleichen wie angewendetIn dem obigen Artikel werden kurz die vier Formen von JavaScript -Funktionen erörtert. Dies ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.