tipeof
Ketika tipeof digunakan lebih sering, itu adalah untuk menentukan apakah ada variabel global, jika halaman mendefinisikan variabel global. Jika Anda membuat penilaian berikut:
// Harooms adalah variabel global jika (harooms! = tidak terdefinisi) {} // js akan melaporkan kesalahan yang mengatakan "ReferenceError yang tidak tertulis: Harooms tidak ditentukan"Solusinya adalah menulis sebagai berikut:
if (typeof haorooms! = tidak terdefinisi) {}Setelah menggunakan TypeOf, tidak akan ada kesalahan! Ini adalah salah satu jenis aplikasi!
Selain itu, TypeOF juga dapat membuat penilaian pada tipe data! sebagai berikut:
var harooms = "string"; Console.log (Haroms); // stringvar harooms = 1; Console.log (Haroms); // numbervar harooms = false; Console.log (Haroms); // Booleanvar Haroms; Console.log (Typeof Haroms); // undfinedvar harooms = null; Console.log (Typeof Haroms); // Objectvar Harooms = Dokumen; Console.log (Typeof Haroms); // Objectvar Harooms = []; Console.log (Haroms); // ObjectVar Harooms = function () {}; Console.log (TypeOf Harooms) // Fungsi Selain menilai tipe data, Anda juga dapat menilai jenis fungsiJelas, untuk tipeof, kecuali untuk empat jenis pertama, nol, objek, dan array mengembalikan semua jenis objek;
contoh dari
Ini dapat digunakan untuk menentukan apakah itu array.
var harooms = []; console.log (harooms instance dari array) // return true
konstruktor
Konstruktor adalah konstruktor yang mengembalikan konstruktor objek yang sesuai.
Bagaimana menilai berbagai tipe data:
console.log ([]. Constructor == array); console.log ({}. Constructor == objek); console.log ("string" .constructor == string); console.log ((123) .constructor == NOMURE); console.log (true.constructor == boolean = function); nameeeeeee, loDee) (relie) {name {name); function {log); this.job = pekerjaan; this.born = lahir; } var haorooms = karyawan baru ("Bill Gates", "Engineer", 1985); Console.log (Haroms.Constructor); // fungsi output karyawan (name, jobtitle, born) {this.name = name; this.jobtitle = pekerjaan; this.born = born;}Dengan mengeluarkan haorooms.constructor, dapat dilihat bahwa konstruktor mengembalikan konstruktor yang sesuai dengan objek.
Object.prototype.tostring
Kami menyebutkan sebelumnya bahwa kami dapat menggunakan atribut konstruktor untuk menentukan jenis objek. Mari Bicara Tentang Metode Object.Protype.ToString.
Object.prototype.toString.apply({}) // "[object Object]"Object.prototype.toString.apply([]) // "[object Array]"Object.prototype.toString.apply(NaN)// "[object Number]"Object.prototype.toString.apply(function(){}) // "[object Function]"Menggunakan metode ini, kita dapat menilai dengan benar pola dasar suatu variabel, tetapi jika itu adalah tipe kustom, kita tidak dapat mengetahui tipe yang sebenarnya, karena hasilnya akan tetap menjadi [objek objek]
lainnya
jQuery juga memiliki metode penilaian jenis, berikut ini adalah contoh
$ .iswindow (window) // true
Bagaimana melakukannya
core.js#479IsWindow: function (obj) {return obj! = null && obj == obj.window;}Jadi buka objek seperti ini:
var falewindow; falewindow = {}; fakeWindow.window = falewindow; $. isWindow (fakeWindow) // trueAnda berbohong padanya.
ringkasan
Dalam JavaScript, Anda harus menilai jenis dengan benar. Ketika Anda mempelajarinya dengan cermat, itu benar -benar merepotkan. Sangat penting untuk merancang penilaian Anda sesuai dengan situasi yang berbeda. Kita juga harus berpikir tentang bagaimana menilai jenis yang benar dengan cara yang paling sederhana. Tentu saja, masih ada banyak hal yang belum diperkenalkan dalam artikel ini. Misalnya, metode isPrototipe. Javascript adalah bahasa dengan banyak beban historis, tetapi juga terus membaik. Saat menggunakannya, Anda harus memperhatikan terlalu banyak cara bilah dua sisi. Ingatlah untuk menggunakannya dengan cermat.