Heim >Web-Frontend >js-Tutorial >Zusammenfassung gängiger JavaScript-Tipps_Javascript-Tipps

Zusammenfassung gängiger JavaScript-Tipps_Javascript-Tipps

WBOY
WBOYOriginal
2016-05-16 16:23:411182Durchsuche

Vorwort

Fassen Sie den JavaScript-Syntax-Zucker zusammen, auf den ich kürzlich gestoßen bin, und teilen Sie ihn mit allen.

Zu jedem Bonbonstück gibt es detaillierte Anweisungen und Beispiele, daher werde ich nicht auf Details eingehen.

Genaue Typprüfung

Code kopieren Der Code lautet wie folgt:

/*
* @function:
* Beispiel für die Typprüfung
* Mit dieser Methode können Sie überprüfen, ob eine Variable den erwarteten Datentyp
hat * @params:
* Zu prüfende obj-Variable, erforderlich
* Konfigurationsdatentyp-Whitelist, optional, Standard sind alle Typen
* @return:
* true bedeutet, dass die Prüfung bestanden wurde, false bedeutet, dass sie fehlgeschlagen ist
* @examples:
* typeCheck("str"); //true zurückgeben
* typeCheck({},{"[object Array]": 1}); //return false
*/
Funktion typeCheck(obj,config){
var hasOp = Object.prototype.hasOwnProperty,
        toStr = Object.prototype.toString,
​​​​ _config = config || „[Objekt Objekt]“: 1,
„[Objektarray]“: 1,
„[object Regex]“: 1,
„[Objektzeichenfolge]“: 1,
„[Objektnummer]“: 1,
„[object Boolean]“: 1,
„[Objektfunktion]“: 1,
„[Objekt undefiniert]“: 1,
„[Objekt Null]“: 1
};

Rückgabe hasOp.call(_config,toStr.call(obj));
}

Elegante Möglichkeit, Prototypen hinzuzufügen

Code kopieren Der Code lautet wie folgt:
/*
* @description:
* Elegante Möglichkeit, Prototypen hinzuzufügen
* Führen Sie dieses Code-Snippet einfach im öffentlichen Bereich aus
*/
if(typeof Function.prototype.method !== "function") {
Function.prototype.method = function(name,fn){
This.prototype[name] = fn;
Geben Sie dies zurück;
};
}
/*
* Anwendungsbeispiel
*/
//Definiere eine „Testklasse“
Funktion testFn(){
}
//Mitgliedsmethoden der Testklasse hinzufügen
testFn.method("add",function(a,b){
Geben Sie a b;
zurück }).method("sub",function(a,b){
Geben Sie a - b zurück;
});
//Instantiierung
var testObj = new testFn();
//Member-Methode aufrufen
testObj.add(1,5); //return 6
testObj.sub(7,2); //return 5

Schnell Namespace erstellen

Code kopieren Der Code lautet wie folgt:

/*
* @function:
* Namespace erstellen
* @params:
* Ex-Namespace-Ausdruck, zum Beispiel: NSROOT.service.impl
* Dieser Ausdruck muss beginnend mit dem Wurzelknoten
geschrieben werden * @return:
* Gibt ein Objekt zurück. Dieses Objekt ist der letzte Knoten des Ausdrucks
* @others:
* Wenn Ihnen der Name NSROOT nicht gefällt, suchen und ersetzen Sie einfach
*/
var NSROOT = NSROOT ||. {};
NSROOT.namespace = function(ex){
var _ex = ex ||. "",
​ ​ nsArray = _ex.split("."),
parentNode = NSROOT,
​​​ _s = "",
i = 0;
//Bestimmen Sie, ob der Namespace vom Stammknoten aus beginnt
if(nsArray[0] !== "NSROOT"){
          throw("Der Namespace muss am Wurzelknoten beginnen!");
}
//Wurzelknoten entfernen
nsArray = nsArray.slice(1);
for(i = 0;i _s = nsArray[i];
If(parentNode[_s] === undefiniert){
        parentNode[_s] = {};
}
parentNode = parentNode[_s];
}
Gibt parentNode;
zurück };
/*
* Anwendungsbeispiel
*/
//Erstelle einen neuen Namespace
var impl = NSROOT.namespace("NSROOT.service.impl");
Alert(impl === NSROOT.service.impl); //true zurückgeben
//Erstellen Sie einen vorhandenen Namespace, ohne die Originaldaten zu überschreiben
NSROOT.namespace("NSROOT.service.impl");
Alert(impl === NSROOT.service.impl); //true zurückgeben
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn