Empat bentuk keberadaan fungsi:
1. Morfologi fungsional
2. Formulir Metode memberikan fungsi kepada anggota objek tertentu, yang disebut metode.
3. Bentuk Konstruktor
4. Bentuk kontekstual
1. Formulir Fungsi:
var foo = function () {alert (this); // ini jendela};2. Formulir Metode:
o = {}; o.foo = foo; // Tetapkan fungsi foo ke atribut foo objek o.foo (); // Objek muncul, dan ini saat ini mewakili objek var lib = {test: function () {alert (this); // Ini di sini mewakili objek (objek lib itu sendiri) // var that = this; // Jika Anda ingin ini mewakili objek LIB dalam fungsi anonim, Anda dapat melakukan ini (function () {alert (this); // fungsi anonim di sini bukan milik objek lib, jadi ini masih mewakili window}) (); }}; lib.test ();3. Konstruktor (Konstruktor) var p = orang baru ();
1. Baru membuat objek dan membuka ruang
2. Lewati alamat referensi objek ke fungsi dan menerimanya dengan ini di fungsi.
3. Eksekusi metode konstruksi berakhir, kembalikan ini
var person = function () {this.age = 19; this.name = "mrjing"; kembalikan "{}";}; var p = orang baru (); peringatan (p.name); // Pop-up tidak terdefinisi. Karena fungsi mengembalikan suatu objek, objek secara langsung dikembalikan ke orang tersebut, dan atribut usia dan nama diabaikan var person = function () {this.age = 19; this.name = "mrjing"; return 123;}; var p = orang baru (); peringatan (p.name); // "MrJing" muncul. Karena nilai pengembalian bukan objek, peringatan nilai pengembalian (P); // objek poptHal -hal yang telah diubah meliputi: Konstruktor mengubah nilai pengembalian fungsi; Jika nilai pengembalian fungsi adalah objek, maka pengembalian sesuai dengan nilai pengembalian; Jika nilai pengembalian bukan objek, abaikan nilai pengembalian dan langsung kembalikan ini;
4. Fungsi Pola Panggilan Konteks. Apply (Object, [Daftar Parameter])
var foo1 = function (a, b) {alert (this); mengembalikan A> B? A: b;}; var num = foo1.Apply (null, [112, 34]); // Saat ini FOO1 adalah bentuk fungsi, ini berarti windownum = foo1.Apply ({}, [112, 34]); // Saat ini FOO1 adalah formulir metode, ini berarti objek yang diteruskan dalam parameter {}function.call (objek, daftar parameter);
var num1 = foo1.call (null, 112,34); num1 = foo1.call ({}, 112,34); // Kecuali untuk daftar parameter, sisanya sama dengan berlakuArtikel di atas secara singkat membahas empat bentuk fungsi JavaScript. Ini semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.