Kata pengantar
Mari kita rangkum gula sintaks JavaScript yang saya hubungi baru -baru ini dan bagikan dengan Anda.
Setiap permen memiliki instruksi dan contoh terperinci, jadi saya tidak akan banyak bicara.
Jenis pemeriksaan yang akurat
Salinan kode adalah sebagai berikut:
/*
* @fungsi:
* Ketik Contoh Periksa
* Metode ini memungkinkan Anda untuk memeriksa apakah suatu variabel adalah tipe data yang diharapkan
* @params:
* Variabel OBJ yang perlu diperiksa, diperlukan
* Konfigurasi Jenis Data WhiteList, Opsional, Default untuk semua jenis
* @kembali:
* Benar berarti cek dilewati, False Gagal
* @examples:
* typeCheck ("str"); // Kembalikan true
* typeCheck ({}, {"[array objek]": 1}); // Kembalikan salah
*/
fungsi typeCheck (obj, config) {
var hasop = object.prototype.hasownproperty,
tostr = object.prototype.tostring,
_config = config || {
"[objek objek]": 1,
"[objek array]": 1,
"[Object Regex]": 1,
"[Object String]": 1,
"[Nomor Objek]": 1,
"[Object Boolean]": 1,
"[Fungsi Objek]": 1,
"[objek tidak terdefinisi]": 1,
"[objek null]": 1
};
return hasop.call (_config, tostr.call (obj));
}
Cara elegan untuk menambahkan prototipe
Salinan kode adalah sebagai berikut:
/*
* @keterangan:
* Cara elegan untuk menambahkan prototipe
* Cukup jalankan cuplikan kode ini di ruang lingkup publik
*/
if (typeof function.prototype.method! == "function") {
Function.prototype.method = function (name, fn) {
this.prototype [name] = fn;
kembalikan ini;
};
}
/*
* Contoh Penggunaan
*/
// Tentukan "kelas uji"
fungsi testfn () {
}
// Tambahkan metode anggota kelas tes
testfn.method ("add", function (a, b) {
mengembalikan A + B;
}). Metode ("sub", fungsi (a, b) {
mengembalikan a - b;
});
// Instantiasi
var testobj = testfn baru ();
// Metode Panggilan Anggota
testobj.add (1,5); // Kembalikan 6
testobj.sub (7,2); // Kembalikan 5
Buat namespace dengan cepat
Salinan kode adalah sebagai berikut:
/*
* @fungsi:
* Buat namespace
* @params:
* Ex Namespace Expression, misalnya: nsroot.service.impl
* Ekspresi ini harus dimulai dari node root
* @kembali:
* Mengembalikan objek, yang merupakan simpul terakhir dari ekspresi
* @yang lain:
* Jika Anda tidak suka nama nsroot, cukup cari pengganti
*/
var nsroot = nsroot || {};
Nsroot.namespace = function (ex) {
var _ex = ex || "",
nsarray = _ex.split ("."),
parentNode = nsroot,
_s = "",
i = 0;
// menilai apakah namespace dimulai dari node root
if (nsarray [0]! == "nsroot") {
lempar ("Namespace harus dimulai dari node root!");
}
// Hapus node root
nsarray = nsarray.slice (1);
untuk (i = 0; i <nsarray.length; i ++) {
_s = nSarray [i];
if (parentNode [_s] === tidak terdefinisi) {
parentNode [_s] = {};
}
parentNode = parentNode [_s];
}
Return ParentNode;
};
/*
* Contoh Penggunaan
*/
// Buat namespace baru
var Impl = nsroot.namespace ("nsroot.service.impl");
peringatan (IMP === nsroot.service.impl); // Kembalikan true
// Buat namespace yang ada tanpa menimpa data asli
Nsroot.namespace ("nsroot.service.impl");
peringatan (IMP === nsroot.service.impl); // Kembalikan true