Rumah  >  Artikel  >  hujung hadapan web  >  Kaedah untuk menentukan sama ada pembolehubah ialah tatasusunan, fungsi atau jenis objek dalam kemahiran JavaScript_javascript

Kaedah untuk menentukan sama ada pembolehubah ialah tatasusunan, fungsi atau jenis objek dalam kemahiran JavaScript_javascript

WBOY
WBOYasal
2016-05-16 16:13:151028semak imbas

Susunatur

Array.isArray dalam ECMAScript5 ialah kaedah asli untuk menilai tatasusunan, disokong oleh IE9 dan ke atas. Atas sebab keserasian, dalam pelayar yang tidak mempunyai kaedah ini, anda boleh menggunakan Object.prototype.toString.call(obj) === '[object Array]' sebaliknya.

Salin kod Kod adalah seperti berikut:

var isArray = Array.isArray ||. function(obj) {
Kembalikan Object.prototype.toString.call(obj) === '[object Array]';
}

Fungsi

Kaedah yang paling mudah dan berprestasi terbaik ialah jenis obj == 'fungsi'. Memandangkan pepijat dalam beberapa versi pelayar, kaedah yang paling boleh dipercayai ialah Object.prototype.toString.call(obj) === '[object Function]'.

Salin kod Kod adalah seperti berikut:

var isFunction = function(obj) {
Kembalikan Object.prototype.toString.call(obj) === '[Fungsi objek]';
}
if(typeof /./ != 'function' && typeof Int8Array != 'objek') {
isFunction = function(obj) {
          kembalikan jenis obj == 'fungsi';
}
}

Objek

Dalam JavaScript, jenis kompleks ialah objek, dan fungsi juga objek. Menggunakan typeof pada dua di atas, anda boleh mendapatkan 'objek' dan 'fungsi' masing-masing. Di samping itu, nilai null mesti dikecualikan, kerana jenis null juga mengembalikan 'objek'.

Salin kod Kod adalah seperti berikut:

var isObject = function(obj) {
jenis var = jenis obj;
Jenis kembali === 'fungsi' ||. taip === 'objek' && !!obj;
}

Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.

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