Hal -hal dasar seperti itu tidak boleh direkam lagi, tetapi, meninjau masa lalu dan mempelajari yang baru terlebih dahulu. Mari kita mulai dengan tipe data.
JS Enam Jenis Data Utama: Angka, String, Objek, Boolean, Null, Tidak Ditentukan
String: Dijelaskan oleh kutipan tunggal atau ganda, seperti "string"
Angka: bilangan bulat apa, angka floating point semua disebut angka, Anda tahu ~
Boolean: Itu benar dan salah
Tidak ditentukan: Tidak terdefinisi, yaitu, Anda membuat variabel tetapi tidak memberikan nilai untuk itu ~
NULL: Oleh karena itu, ini disebut sijiu. NULL tidak ada artinya, tidak ada yang tidak ada artinya
Objek: Saya sulit menjelaskan ini. Itu tipe selain lima di atas
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Tipe penilaian tipe data
Typeof dapat menyelesaikan sebagian besar penilaian tipe data. Ini adalah operasi satu-awal. Sebelum nilai operasi, nilai pengembaliannya adalah string. String ini menunjukkan jenis nomor operasi. Oleh karena itu, if (typeof (nilai Anda) == "string") {}
Berikut adalah hasil yang dikembalikan oleh berbagai jenis data:
var a = "string"; console.log (a); // StringVar A = 1; console.log (a); // numbervar a = false; console.log (a); // booleanvar a; console.log (typeof a); // undfinedvar a = null; console.log (typeof a); // ObjectVar A = Dokumen; console.log (typeof a); // Objectvar a = []; console.log (a); // ObjectVar a = function () {}; console.log (typeof a) // fungsi selain menilai tipe data, Anda juga dapat menilai tipe fungsiIni jelas. Kecuali untuk empat jenis pertama, nol, objek, dan array mengembalikan semua jenis objek;
Untuk jenis fungsi, fungsi dikembalikan, seperti tipeof (tanggal), tipeof (eval), dll.
Maka di sini kita dapat memperpanjang masalah lain yang sangat populer dan solusinya sudah umum. Bagaimana cara menentukan apakah data adalah jenis array?
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Metode JS untuk menentukan jenis array
Metode 1 Instanceof
Contoh, oleh karena itu, namanya berarti, contoh, contoh. Oleh karena itu, contoh digunakan untuk menentukan apakah suatu variabel adalah instance suatu objek. Ini adalah formula operasi tiga dimensi-perbedaan yang paling substansial antara tipeof
Sebuah instance dari b? Peringatan ("true"): alert ("false") // Perhatikan bahwa nilai b adalah tipe data yang ingin Anda menilai, bukan string, seperti array
Ambil kastanye:
var a = []; console.log (contoh array) // return true
Metode 2 Konstruktor
Definisi dalam Definisi W3C: Properti Konstruktor Mengembalikan referensi ke fungsi array yang membuat objek ini
Ini mengembalikan konstruktor yang sesuai dengan objek. Dalam definisi, tidak terlalu konsisten dengan instanceof, tetapi efeknya sama
Misalnya: (contoh array) // A apakah itu instance array? benar atau salah
(a.constructor == array) // Apakah konstruktor sesuai dengan instance yang sesuai dengan array? benar atau salah
Ambil kastanye:
fungsi karyawan (nama, pekerjaan, lahir) {this.name = name; this.job = pekerjaan; this.born = born;} var bill = karyawan baru ("Bill Gates", "Engineer", 1985); Console.log (Bill.Constructor); // fungsi output karyawan (name, jobtitle, born) {this.name = name; this.jobtitle = pekerjaan; this.born = born;}Maka metode untuk menilai berbagai jenis adalah:
console.log ([]. Konstruktor == array); console.log ({}. Konstruktor == objek); console.log ("string" .constructor == string); console.log ((123) .constructor == angka); console.log (true.constructor == boolean);-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Metode yang lebih ketat dan umum:
fungsi isArray (objek) {return object && typeof objek === 'objek' && array == objek.constructor;}Lai Lai Melihat:
Menggunakan instanceof dan konstruktor, array yang dihakimi harus dinyatakan pada halaman saat ini! Misalnya, halaman (halaman induk) memiliki kerangka kerja, halaman (subhalaman) dirujuk dalam kerangka kerja, sebuah array dinyatakan dalam halaman anak, dan menugaskannya ke variabel halaman induk. Pada saat ini, variabel dinilai, array == objek.constructor; akan mengembalikan false;
alasan:
1. Array adalah data referensi. Selama proses transmisi, ini hanya transfer alamat referensi.
2. Alamat yang dirujuk oleh objek asli Array dari setiap halaman berbeda. Konstruktor yang sesuai dari array yang dinyatakan di halaman anak adalah objek array dari halaman anak. Untuk penilaian pada halaman induk, array yang digunakan tidak sama dengan array halaman anak; Ingat, kalau tidak akan sulit untuk melacak masalah!
Metode 3: Metode Penilaian Karakteristik
Semua metode di atas memiliki kelemahan tertentu, tetapi kita harus percaya bahwa kebijaksanaan massa adalah mahakuasa. Kita dapat menilai jenisnya berdasarkan beberapa karakteristik array.
fungsi isArray (objek) {return object && typeof objek === 'objek' && typeof object.length === 'nomor' && typeof objek.splice === 'function' && // Cukup tentukan apakah properti panjangnya dapat dikenakan untuk array, false akan diperoleh! (Object.propertyisable ('long');Memiliki panjang dan sambungan tidak harus merupakan array, karena faktor penilaian yang paling penting adalah menambahkan atribut ke objek, tetapi tidak menyebutkan atribut panjang.
PS: Di sini kami mempopulerkan metode PropertyiseNeMerable:
obyek. PropertyIsenumerable (proname)
Tentukan apakah atribut yang ditentukan dapat terdaftar
Catatan: Jika proname ada dalam suatu objek dan dapat disebutkan secara mendalam menggunakan A untuk ... di loop, properti properti yang dapat dikembalikan true. Jika objek tidak memiliki properti yang ditentukan atau properti yang ditentukan tidak dapat dihitung, properti properti yang dapat dikembalikan False.
Properti PropertySeNenumerable tidak memperhitungkan objek akun dalam rantai prototipe.
Contoh:
var a = array baru ("apel", "pisang", "kaktus"); document.write (a.propertyisenumerable (1));Metode 4 Metode termudah
fungsi isArray (o) {return object.prototype.toString.call (o) === '[array objek]';}Di atas adalah seluruh konten artikel ini. Untuk informasi lebih lanjut tentang JavaScript, Anda dapat memeriksa: "Tutorial Referensi JavaScript" dan "Panduan Gaya Kode JavaScript". Saya juga berharap semua orang akan lebih mendukung wulin.com.