Heim > Web-Frontend > js-Tutorial > Hauptteil

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

WBOY
Freigeben: 2016-05-16 15:18:33
Original
1378 Leute haben es durchsucht

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
Nach dem Login kopieren

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

Nach dem Login kopieren

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();
Nach dem Login kopieren

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

Verwandte Etiketten:
js
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage