Konstruktor
objek baru ()
Objek baru (nilai)
parameter
nilai
Parameter opsional yang menyatakan nilai asli (mis., Nomor, nilai boolean, atau string) untuk dikonversi menjadi objek angka, objek boolean, atau objek string. Objek ini tidak didukung oleh JavaScript sebelum 1.1 dan Ecmascript VL.
Nilai pengembalian
Jika tidak ada parameter nilai yang diteruskan ke konstruktor, ia akan mengembalikan instance objek yang baru dibuat. Jika parameter nilai asli ditentukan, konstruktor membuat dan mengembalikan objek pembungkus nilai asli, yaitu objek angka, objek boolean, atau objek string. Ketika operator baru tidak digunakan, konstruktor objek () disebut sebagai fungsi, itu berperilaku sama seperti saat menggunakan operator baru.
milik
konstruktor
Referensi ke fungsi JavaScript yang merupakan konstruktor objek
metode
1.hasownproperty ()
Periksa apakah objek telah mendefinisikan properti (non-warisan) secara lokal dengan nama tertentu.
Salinan kode adalah sebagai berikut:
<type skrip = "Teks/JavaScript">
var o = objek baru ();
o.name = "Tom";
alert (o.hasownproperty ("name")); //BENAR
waspada (o.hasownproperty ("usia")); //PALSU
</script>
2.SprototypeOf ()
tata bahasa
Object.isprototypeof (o)
parameter
Hai
Objek apa pun.
Nilai pengembalian
Kembalikan true jika objek adalah prototipe O. Jika O bukan objek, atau objek bukanlah prototipe O, maka false dikembalikan.
menggambarkan
Objek JavaScript mewarisi sifat -sifat objek prototipe. Prototipe objek dirujuk oleh atribut prototipe konstruktor yang digunakan untuk membuat dan menginisialisasi objek. Metode IsprototypeOf () menyediakan metode untuk menentukan apakah suatu objek adalah prototipe objek lain. Metode ini dapat digunakan untuk menentukan kelas suatu objek.
Contoh
Salinan kode adalah sebagai berikut:
var o = objek baru (); // Buat objek
Object.prototype.isprototypeof (o) // Benar: O adalah objek
Function.prototype.isprototypeOf (O.ToString); // true: tostring adalah fungsi
Array.prototype.isprototypeOf ([1,2,3]); // Benar: [1,2,3] adalah array
// Berikut ini adalah cara lain untuk melakukan tes yang sama
(o.constructor == objek); // true: o dibuat dengan objek () konstruktor
(o.tostring.constructor == fungsi); // Benar: O.Tostring adalah fungsi
/Prototipe Objek itu sendiri adalah objek prototipe. Panggilan berikut mengembalikan true
// Instruksi Fungsi mewarisi function.prototype dan objek.prototype properti.
Object.prototype.isprototypeOf (function.prototype);
3.Proertyisenumerable ()
tata bahasa
Object.propertyisenumerable (propname)
parameter
Propname
String yang berisi nama prototipe objek.
Nilai pengembalian
Kembalikan true jika objek memiliki properti non-warisan bernama PropName dan properti dapat dihitung (mis., Ini dapat disebutkan dengan loop untuk/di loop).
menggambarkan
Gunakan pernyataan untuk/dalam untuk melintasi sifat -sifat suatu objek "yang dapat dihindarkan". Tetapi tidak semua properti suatu objek dapat dihitung. Atribut yang ditambahkan ke objek melalui kode JavaScript dapat dihitung, sedangkan properti yang telah ditentukan sebelumnya (seperti metode) objek internal biasanya tidak dapat dihitung. Metode PropertiesEnumerable () menyediakan cara untuk membedakan antara properti enumable dan yang tidak dapat dihindari. Tetapi harus dicatat bahwa standar ECMASCRIPT menetapkan bahwa metode properti yang dapat dibawa () tidak mendeteksi rantai prototipe, yang berarti hanya berlaku untuk sifat lokal objek dan tidak dapat mendeteksi penghitungan properti yang diwariskan.
Contoh
Salinan kode adalah sebagai berikut:
var o = objek baru (); // Buat objek
sapi = 3.14; // Tentukan - atribut
o.propertyisenumerable ("x"); // Properti True X adalah lokal dan terhibur
o.propertyisenumerable ("y"); // false: o tidak memiliki atribut y
o.propertyisenumerable ("tostring"); // Salah: Properti Tostrlng diwariskan
Objek.prototype.propertyisenumerable ("tostring"); // Salah: disebutkan
Serangga
Jelas salah ketika metode standar membatasi propertiEnumerable () untuk mendeteksi hanya properti yang tidak dimiliki. Internet Explorer 5.5 mengimplementasikan metode ini sesuai dengan standar. Metode PropertyIseNumerable () yang diimplementasikan dalam Nestacpe 6.0 memperhitungkan rantai prototipe. Meskipun pendekatan ini diinginkan, ia bertentangan dengan standar, sehingga Netscape 6.1 memodifikasinya agar sesuai dengan IE 5.5. Karena ada kesalahan dalam standar ini, metode ini tidak berguna.
Salinan kode adalah sebagai berikut:
<script>
var obj = objek baru ();
obj.title = 'aaa';
obj.funb = fungsi (a, b)
{
waspada (a+b);
}
waspada (obj.title);
obj.funb (1,2);
</script>
Berikut adalah metode
**********************************
Salinan kode adalah sebagai berikut:
<bahasa skrip = "javascript">
objek fungsi (nilai, a, b) {
this.title = value;
this.funb = function () {
this.a = a;
this.b = b;
waspada (a+b);
}
}
var obj = objek baru ("aaa", 1,2);
waspada (obj.title);
obj.funb ();
// Tambahkan metode baru ke objek di sini
object.prototype.name = "123456";
waspada (obj.name);
</script>
Ini cara lain