Rumah  >  Artikel  >  hujung hadapan web  >  Kaedah JavaScript untuk menentukan sama ada pembolehubah ialah objek atau kemahiran array_javascript

Kaedah JavaScript untuk menentukan sama ada pembolehubah ialah objek atau kemahiran array_javascript

WBOY
WBOYasal
2016-05-16 16:38:271254semak imbas

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

Salin kod Kod adalah seperti berikut:

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:
Salin kod Kod adalah seperti berikut:

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

Salin kod Kod adalah seperti berikut:

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:
Code kopieren Der Code lautet wie folgt:

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.
Kenyataan:
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