jenis mengembalikan objek
Semua jenis data dalam JavaScript adalah objek dalam erti kata yang ketat, tetapi dalam penggunaan sebenar kami masih mempunyai jenis Jika anda ingin menentukan sama ada pembolehubah ialah tatasusunan atau objek, anda tidak boleh menggunakan typeof kerana semuanya mengembalikan objek
var o = { 'nama':'lee' };
var a = ['reg','biru'];
document.write( ' o typeof is ' typeof o);
document.write( '
');
document.write( ' a typeof is ' typeof a);
Perlaksanaan:
o jenis ialah objek
jenis ialah objek
Oleh itu, kita hanya boleh melepaskan kaedah ini. Terdapat dua cara untuk menentukan sama ada ia adalah tatasusunan atau objek
Pertama, gunakan jenis atribut tambah panjang
Array mempunyai atribut panjang, objek tidak, dan jenis tatasusunan dan objek kedua-duanya mengembalikan objek, jadi kita boleh menilai dengan cara ini
var o = { 'nama':'lee' };
var a = ['reg','biru'];
var getDataType = function(o){
Jika(jenis o == 'objek'){
Jika( jenis o.panjang == 'nombor' ){
kembalikan 'Array';
}lain{
kembalikan 'Objek';
}
}lain{
kembalikan 'param bukan jenis objek';
}
};
alert( getDataType(o) ); // Objek
alert( getDataType(a) ); // Array
alert( getDataType(1) ); // param bukan jenis objek
alert( getDataType(true) ); // param bukan jenis objek
alert( getDataType('a') ); // param bukan jenis objek
Kedua, gunakan instanceof
Gunakan instanceof untuk menentukan sama ada pembolehubah ialah tatasusunan, seperti:
var o = { 'nama':'lee' };
var a = ['reg','biru'];
alert( instanceof Array ); // benar
alert( o instanceof Array ); // false
Anda juga boleh menentukan sama ada ia tergolong dalam objek
var o = { 'nama':'lee' };
var a = ['reg','biru'];
alert( instanceof Object ); // benar
alert( o instanceof Object ); // true
Tetapi tatasusunan juga tergolong dalam objek, jadi kedua-dua perkara di atas adalah benar Oleh itu, apabila kita menggunakan instanceof untuk menentukan sama ada jenis data ialah objek atau tatasusunan, kita harus terlebih dahulu menentukan tatasusunan, dan akhirnya menentukan objek
var o = { 'nama':'lee' };
var a = ['reg','biru'];
var getDataType = function(o){
Jika(o instance of Array){
kembalikan 'Array'
} else if( o instanceof Object ){
kembalikan 'Objek';
}lain{
kembalikan 'param bukan jenis objek';
}
};
alert( getDataType(o) ); // Objek
alert( getDataType(a) ); // Array
alert( getDataType(1) ); // param bukan jenis objek
alert( getDataType(true) ); // param bukan jenis objek
alert( getDataType('a') ); // param bukan jenis objek
Wenn Sie Array nicht zuerst beurteilen, zum Beispiel:
var o = { 'name':'lee' };
var a = ['reg','blue'];
var getDataType = function(o){
If(o Instanz des Objekts){
'Objekt' zurückgeben
}else if( o Instanz des Arrays ){
return 'Array';
}else{
return 'param is no object type';
}
};
alarm( getDataType(o) ); // Object
alarm( getDataType(a) ); // Object
Alert( getDataType(1) ); // param ist kein Objekttyp
Alert( getDataType(true) ); // param ist kein Objekttyp
Alert( getDataType('a') ); // param ist kein Objekttyp
Dann wird das Array auch als Objekt beurteilt.