คำนำ
มาสรุปน้ำตาลไวยากรณ์ JavaScript ที่ฉันได้ติดต่อกับเมื่อเร็ว ๆ นี้และแบ่งปันกับคุณ
ขนมแต่ละชิ้นมีคำแนะนำและตัวอย่างโดยละเอียดดังนั้นฉันจะไม่พูดอะไรมากมาย
การตรวจสอบประเภทที่ถูกต้อง
การคัดลอกรหัสมีดังนี้:
-
* @การทำงาน:
* พิมพ์ตัวอย่างตัวอย่าง
* วิธีนี้ช่วยให้คุณตรวจสอบว่าตัวแปรเป็นชนิดข้อมูลที่คาดหวังหรือไม่
* @params:
* ตัวแปร OBJ ที่จำเป็นต้องตรวจสอบจำเป็นต้องมี
* config data type whitelist, เป็นทางเลือก, เริ่มต้นสำหรับทุกประเภท
* @กลับ:
* จริงหมายถึงการตรวจสอบถูกส่งผ่านเท็จล้มเหลว
* @Examples:
* typecheck ("str"); // return true
* typecheck ({}, {"[อาร์เรย์วัตถุ]": 1}); // return false
-
ฟังก์ชั่น typecheck (obj, config) {
var hasop = object.prototype.hasownproperty,
toStr = object.prototype.toString
_config = config || -
"[วัตถุวัตถุ]": 1,
"[อาร์เรย์วัตถุ]": 1,
"[Object Regex]": 1,
"[สตริงวัตถุ]": 1,
"[หมายเลขวัตถุ]": 1,
"[วัตถุบูลีน]": 1,
"[ฟังก์ชั่นวัตถุ]": 1,
"[วัตถุที่ไม่ได้กำหนด]": 1,
"[Object Null]": 1
-
return hasop.call (_config, tostr.call (obj));
-
วิธีที่หรูหราในการเพิ่มต้นแบบ
การคัดลอกรหัสมีดังนี้:
-
* @คำอธิบาย:
* วิธีที่สง่างามในการเพิ่มต้นแบบ
* เพียงแค่เรียกใช้ข้อมูลโค้ดนี้ในขอบเขตสาธารณะ
-
if (typeof function.prototype.method! == "function") {
function.prototype.method = function (ชื่อ, fn) {
this.prototype [ชื่อ] = fn;
คืนสิ่งนี้;
-
-
-
* ตัวอย่างการใช้งาน
-
// กำหนด "คลาสทดสอบ"
ฟังก์ชั่น testfn () {
-
// เพิ่มวิธีการสมาชิกชั้นเรียน
testfn.method ("เพิ่ม" ฟังก์ชั่น (a, b) {
ส่งคืน A + B;
}). method ("sub", ฟังก์ชัน (a, b) {
กลับ A - B;
-
// อินสแตนซ์
var testobj = ใหม่ testfn ();
// วิธีการโทรสมาชิก
testobj.add (1,5); // return 6
testobj.sub (7,2); // return 5
สร้างเนมสเปซอย่างรวดเร็ว
การคัดลอกรหัสมีดังนี้:
-
* @การทำงาน:
* สร้างเนมสเปซ
* @params:
* ex namespace นิพจน์ตัวอย่างเช่น: nsroot.service.impl
* นิพจน์นี้ต้องเริ่มต้นจากโหนดรูท
* @กลับ:
* ส่งคืนวัตถุซึ่งเป็นโหนดสุดท้ายของนิพจน์
* @คนอื่น:
* หากคุณไม่ชอบชื่อ nsroot เพียงค้นหาการแทนที่
-
var nsroot = nsroot || -
nsroot.namespace = function (ex) {
var _ex = ex || -
nsarray = _ex.split (".")
parentNode = nsroot
_s = ""
i = 0;
// ตัดสินว่าเนมสเปซเริ่มต้นจากโหนดรูท
if (nsarray [0]! == "nsroot") {
โยน ("เนมสเปซต้องเริ่มจากโหนดรูท!");
-
// ถอดโหนดรูท
nsarray = nsarray.slice (1);
สำหรับ (i = 0; i <nsarray.length; i ++) {
_s = nsarray [i];
ถ้า (parentNode [_s] === ไม่ได้กำหนด) {
ParentNode [_s] = {};
-
parentNode = parentNode [_s];
-
ส่งคืน parentNode;
-
-
* ตัวอย่างการใช้งาน
-
// สร้างเนมสเปซใหม่
var impl = nsroot.namespace ("nsroot.service.impl");
การแจ้งเตือน (impl === nsroot.service.impl); // return true
// สร้างเนมสเปซที่มีอยู่โดยไม่เขียนทับข้อมูลต้นฉบับ
nsroot.namespace ("nsroot.service.impl");
การแจ้งเตือน (impl === nsroot.service.impl); // return true