Rumah > hujung hadapan web > tutorial js > Penjelasan terperinci tentang pengetahuan asas jenis_asas javascript

Penjelasan terperinci tentang pengetahuan asas jenis_asas javascript

WBOY
Lepaskan: 2016-05-16 16:29:50
asal
1398 orang telah melayarinya

Terdapat sejumlah 5 nilai primitif dalam js, 6 yang boleh dinilai mengikut jenis, dan 9 pembina terbina dalam asli.

569 ini membentuk asas bahasa js.

5 nilai primitif ialah: nombor, aksara, Boolean, null, undefined

Typeof boleh menilai: nombor, aksara, Boolean, objek, fungsi, tidak ditentukan. Ambil perhatian bahawa null dan array, jenis kedua-dua objek output.

jenis tidak boleh membezakan antara tatasusunan dan objek Bagaimana untuk menentukan jenis? Gunakan Object.prototype.toString.apply().

if(value&&typeof value ==='objek'&&value.constructor === Array)

Pengesanan di atas akan memberikan palsu jika tatasusunan dibuat dalam bingkai dan tetingkap yang berbeza, dan objek tetingkap berbeza.

Kaedah yang boleh dipercayai ialah if(Object.prototype.toString.apply(value)==="[object Array]")

Tatasusunan argumen bukan tatasusunan, ia hanyalah objek dengan sifat ahli panjang.
Seperti yang ditunjukkan dalam contoh berikut, argumen bukan tatasusunan biasa

Salin kod Kod adalah seperti berikut:

var a = fungsi (){
var b = Object.prototype.toString.apply(arguments);
console.log(b);

}
a();//Output [Argumen objek]

Salin kod Kod adalah seperti berikut:

var a = fungsi (){
var c = [];
var b = Object.prototype.toString.apply(c);
console.log(b);

}
a();//Output [Array objek]

Bagaimanakah instanceof menentukan sama ada ia adalah tika?

Atribut dalam prototaip termasuk pembina.

Atribut prototaip lalai ialah objek objek dan boleh ditetapkan kepada sebarang nilai kompleks, mengabaikan nilai asal.

Walaupun ia adalah objek, ia adalah istimewa, dan rantaian bulat memautkan setiap kejadian kepada atribut prototaip pembinanya. Terdapat pautan tersembunyi antara contoh dan harta prototaip pembina, iaitu __proto__ contoh. Pada masa yang sama, atribut pembina bagi contoh diperoleh melalui pembina prototaip pembina.

Tetapi simpan pembina, supaya contoh baharu mempunyai atribut pembina, dan anda juga boleh menggunakan instanceof untuk menilai.

Salin kod Kod adalah seperti berikut:

var Foo = function(){}

Foo.prototype={constructor:Foo}

var FooInstance = Foo baharu;

FooInstance.__proto__=== Foo.prototype;//true

FooInstance.constructor === Foo; //true

Sebenarnya, instanceof judgment bukan berdasarkan pembina, tetapi pada rantai prototaip, seperti yang ditunjukkan dalam contoh berikut

Salin kod Kod adalah seperti berikut:

var Foo = function(){};
Foo.prototype={};
var FooInstance = {};
FooInstance.__proto__=Foo.prototype;
console.log(FooInstance instanceof Foo);//true

Gunakan nilai primitif, tiada pembina

Nilai yang manakah dianggap palsu: false, "", null, 0, -0, NaN, undefined, ini dianggap palsu, yang lain adalah benar

Tetapi sila beri perhatian kepada contoh berikut

Salin kod Kod adalah seperti berikut:

  var a = Boolean(salah);
        var b = Boolean baharu(""); Jika (a){console.log(a);}//Tidak dapat mengeluarkan
Jika (b){console.log(b);}//Boolean {[[PrimitiveValue]]: false} baharu bersamaan dengan objek, ia bukan palsu

Artikel di atas adalah sedikit lebih teori, tetapi ini adalah asas bahasa JavaScript dan mesti difahami dengan jelas.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan