Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erklärung zum Erstellen privilegierter Methoden in js privater Scope_Javascript-Kenntnisse

Detaillierte Erklärung zum Erstellen privilegierter Methoden in js privater Scope_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 15:18:331366Durchsuche

Das Beispiel in diesem Artikel beschreibt die Methode zum Erstellen von Berechtigungen im privaten js-Bereich als Referenz. Der spezifische Inhalt ist wie folgt

Privilegierte Methoden sind öffentliche Methoden, die Zugriff auf private Variablen und private Funktionen haben:

function MyObject(){
  var privateVariable = 10;
  function privateFunction(){
    return false;
  }
  this.publicMethod = function(){
    privateVariable ++;
    return privateFunction();
  };
}  
var x = new MyObject();
console.log(x.publicMethod()) ;//false

Private Variablen und Funktionen werden im privaten Bereich definiert, und es können auch privilegierte Methoden erstellt werden, wie zum Beispiel:

(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());

Hier können Sie sehen, dass eine globale Konstruktorfunktion tatsächlich im privaten Bereich definiert ist. Eine der Methoden besteht darin, eine private Variable und ein Attribut im privaten Bereich zurückzugeben. Du kannst es besser verstehen, wenn du es so schreibst:

Obj = function(){};

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

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

var ins = new Obj();
ins.say();

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.

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