Maison > interface Web > js tutoriel > Explication détaillée de la création de méthodes privilégiées dans js private scope_javascript skills

Explication détaillée de la création de méthodes privilégiées dans js private scope_javascript skills

WBOY
Libérer: 2016-05-16 15:18:33
original
1396 Les gens l'ont consulté

L'exemple de cet article partage la méthode de création de privilèges dans la portée privée js pour votre référence. Le contenu spécifique est le suivant

Les méthodes privilégiées sont des méthodes publiques qui ont accès à des variables privées et des fonctions privées :

function MyObject(){
  var privateVariable = 10;
  function privateFunction(){
    return false;
  }
  this.publicMethod = function(){
    privateVariable ++;
    return privateFunction();
  };
}  
var x = new MyObject();
console.log(x.publicMethod()) ;//false
Copier après la connexion

Les variables et fonctions privées sont définies dans la portée privée, et des méthodes privilégiées peuvent également être créées, telles que :

(function(){
  var privateValue = 10;
  function privateFunction(){
    return false;
  }
  
  MyObject = function(){}; //没有var 属于全局变量,严格模式下会报错
  
  MyObject.prototype.publicMethod = function(){
    privateValue ++;
    return privateFunction();
  };
})();

var instance = new MyObject();
console.log(instance.publicMethod());

Copier après la connexion

Ici, vous pouvez voir qu'une fonction constructeur globale est en fait définie dans la portée privée ; l'une des méthodes consiste à renvoyer une variable privée et un attribut dans la portée privée. Vous pouvez mieux le comprendre en l'écrivant comme ceci :

Obj = function(){};

(function(){
  var x = 10;
  function y(){
    return x + 10;
  }

  Obj.prototype.say = function(){
    console.log(y());
  };
})()

var ins = new Obj();
ins.say();
Copier après la connexion

Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.

Étiquettes associées:
js
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal