Maison  >  Article  >  interface Web  >  Résumé des astuces JavaScript courantes_astuces Javascript

Résumé des astuces JavaScript courantes_astuces Javascript

WBOY
WBOYoriginal
2016-05-16 16:23:411148parcourir

Avant-propos

Résumez le sucre de syntaxe JavaScript que j'ai rencontré récemment et partagez-le avec tout le monde.

Chaque bonbon contient des instructions détaillées et des exemples, je n'entrerai donc pas dans les détails.

Vérification précise du type

Copier le code Le code est le suivant :

/*
* @fonction :
* Exemple de vérification de type
* Grâce à cette méthode, vous pouvez vérifier si une variable est le type de données attendu
* @params :
* variable obj à vérifier, obligatoire
* Liste blanche des types de données de configuration, facultatif, tous les types par défaut
* @retour :
* vrai signifie que le contrôle a réussi, faux signifie qu'il a échoué
* @exemples :
* typeCheck("str"); //retourne vrai
* typeCheck({},{"[object Array]": 1}); //return false
*/
fonction typeCheck(obj,config){
var hasOp = Objet.prototype.hasOwnProperty,
        toStr = Object.prototype.toString,
​​​​ _config = configuration || {
"[objet Objet]": 1,
"[Tableau d'objets]": 1,
"[objet Regex]": 1,
"[chaîne d'objet]": 1,
"[Numéro d'objet]": 1,
"[objet booléen]": 1,
"[Fonction objet]": 1,
"[objet non défini]": 1,
"[objet Null]": 1
};

Retour hasOp.call(_config,toStr.call(obj));
>

Une manière élégante d'ajouter des prototypes

Copier le code Le code est le suivant :

/*
* @description :
* Une façon élégante d'ajouter des prototypes
* Exécutez simplement cet extrait de code dans le domaine public
*/
if(typeof Function.prototype.method !== "function") {
Function.prototype.method = function(nom,fn){
This.prototype[nom] = fn;
Renvoyez ceci ;
};
>
/*
* Exemple d'utilisation
*/
//Définir une "classe de test"
fonction testFn(){
>
//Ajouter des méthodes membres de la classe de test
testFn.method("ajouter",fonction(a,b){
Renvoyer un b ;
}).method("sub",function(a,b){
Retourner a - b ;
});
//Instanciation
var testObj = new testFn();
//Appeler la méthode membre
testObj.add(1,5); //retour 6
testObj.sub(7,2); //retour 5

Créez rapidement un espace de noms

Copier le code Le code est le suivant :

/*
* @fonction :
* Créer un espace de noms
* @params :
* ex expression d'espace de noms, par exemple : NSROOT.service.impl
* Cette expression doit être écrite à partir du nœud racine
* @retour :
* Renvoie un Objet, cet Objet est le dernier nœud de l'expression
* @autres :
* Si vous n'aimez pas le nom NSROOT, recherchez et remplacez simplement
*/
var NSROOT = NSROOT || {};
NSROOT.namespace = fonction(ex){
var _ex = ex || ​ ​ nsArray = _ex.split("."),
parentNode = NSROOT,
​​​ _s = "",
je = 0;
//Déterminez si l'espace de noms commence à partir du nœud racine
if(nsArray[0] !== "NSROOT"){
          throw("L'espace de noms doit commencer à partir du nœud racine !");
>
//Supprimer le nœud racine
nsArray = nsArray.slice(1);
pour(i = 0;i _s = nsArray[i];
Si(parentNode[_s] === non défini){
        parentNode[_s] = {};
>
parentNode = parentNode[_s];
>
Renvoie parentNode;
};
/*
* Exemple d'utilisation
*/
//Créer un nouvel espace de noms
var impl = NSROOT.namespace("NSROOT.service.impl");
alert(impl === NSROOT.service.impl); //return true
//Créez un espace de noms existant sans écraser les données d'origine
NSROOT.namespace("NSROOT.service.impl");
alert(impl === NSROOT.service.impl); //return true

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn