Rumah  >  Artikel  >  hujung hadapan web  >  Ringkasan petua JavaScript biasa_petua javascript

Ringkasan petua JavaScript biasa_petua javascript

WBOY
WBOYasal
2016-05-16 16:23:411115semak imbas

Kata Pengantar

Ringkaskan gula sintaks JavaScript yang saya temui baru-baru ini dan kongsikannya dengan semua orang.

Setiap keping gula-gula mempunyai arahan dan contoh yang terperinci, jadi saya tidak akan menerangkan secara terperinci.

Semakan jenis yang tepat

Salin kod Kod adalah seperti berikut:

/*
* @fungsi:
* Contoh semak taip
* Melalui kaedah ini, anda boleh menyemak sama ada pembolehubah ialah jenis data yang dijangka
* @params:
* pembolehubah obj untuk disemak, diperlukan
* senarai putih jenis data konfigurasi, pilihan, lalai ialah semua jenis
* @kembali:
* benar bermaksud cek lulus, salah bermakna gagal
* @contoh:
* typeCheck("str"); //return true
* typeCheck({},{"[object Array]": 1}); //return false
*/
fungsi typeCheck(obj,config){
var hasOp = Object.prototype.hasOwnProperty,
       toStr = Object.prototype.toString,
​​​​ _config = konfigurasi || "[Objek objek]": 1,
"[Susun Objek]": 1,
"[objek Regex]": 1,
"[Rentetan objek]": 1,
"[Nombor objek]": 1,
"[objek Boolean]": 1,
"[Fungsi objek]": 1,
"[objek Tidak Ditakrifkan]": 1,
"[objek Nol]": 1
};

Kembalikan hasOp.call(_config,toStr.call(obj));
}

Cara yang elegan untuk menambah prototaip

Salin kod Kod adalah seperti berikut:
/*
* @penerangan:
* Cara yang elegan untuk menambah prototaip
* Laksanakan coretan kod ini dalam skop awam
*/
if(typeof Function.prototype.method !== "function") {
Function.prototype.method = function(nama,fn){
This.prototype[name] = fn;
Kembalikan ini;
};
}
/*
* Contoh penggunaan
*/
//Tentukan "kelas ujian"
function testFn(){
}
//Tambah kaedah ahli kelas ujian
testFn.method("tambah",fungsi(a,b){
Kembalikan b;
}).kaedah("sub",fungsi(a,b){
Kembalikan a - b;
});
//Instantiation
var testObj = new testFn();
//Panggil kaedah ahli
testObj.add(1,5); //kembali 6
testObj.sub(7,2); //kembali 5

Cipta ruang nama dengan cepat

Salin kod Kod adalah seperti berikut:

/*
* @fungsi:
* Cipta ruang nama
* @params:
* ungkapan ruang nama bekas, contohnya: NSROOT.service.impl
* Ungkapan ini mesti ditulis bermula dari nod akar
* @kembali:
* Mengembalikan Objek, Objek ini ialah nod terakhir ungkapan
* @yang lain:
* Jika anda tidak suka nama NSROOT, cuma cari dan gantikan
*/
var NSROOT = NSROOT || {};
NSROOT.namespace = function(ex){
var _ex = ex ||. "",
​ ​ nsArray = _ex.split("."),
parentNode = NSROOT,
​ _s = "",
i = 0;
//Tentukan sama ada ruang nama bermula daripada nod akar
if(nsArray[0] !== "NSROOT"){
          throw("Ruang nama mesti bermula dari nod akar!");
}
//Alih keluar nod akar
nsArray = nsArray.slice(1);
untuk(i = 0;i _s = nsArray[i];
If(parentNode[_s] === undefined){
        parentNode[_s] = {};
}
parentNode = parentNode[_s];
}
Kembalikan parentNode;
};
/*
* Contoh penggunaan
*/
//Buat ruang nama baharu
var impl = NSROOT.namespace("NSROOT.service.impl");
alert(impl === NSROOT.service.impl); //return true
//Buat ruang nama sedia ada tanpa menulis ganti data asal
NSROOT.namespace("NSROOT.service.impl");
alert(impl === NSROOT.service.impl); //return true
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