Heim > Web-Frontend > js-Tutorial > Hauptteil

Detailliertes Verständnis des Bereichs auf Blockebene, privater Variablen und des Modulmodus in JavaScript (grafisches Tutorial)

亚连
Freigeben: 2018-05-19 14:37:27
Original
1696 Leute haben es durchsucht

In diesem Artikel werden der Bereich auf Blockebene, private Variablen und der Modulmodus in JavaScript ausführlich vorgestellt, was für das Erlernen von JavaScript sehr hilfreich ist.

In diesem Artikel werden der Bereich auf Blockebene, private Variablen und der Modulmodus in JavaScript im Detail vorgestellt. Die Details sind wie folgt:

1. Bereich auf Blockebene (privater Bereich). wird häufig außerhalb von Funktionen im globalen Bereich verwendet, wodurch das Hinzufügen zu vieler Variablen und Funktionen zum globalen Bereich eingeschränkt wird.

(function(count){ 
  for(var i=0;i<count;i++){ 
    console.log(i);//=>0、1、2、3、4 
  } 
  console.log(i);//=>5 
})(5);
Nach dem Login kopieren
(function(){ 
  var now=new Date(); 
  if(now.getMonth()==0 && now.getDate()==1){ 
    console.log("新年快乐"); 
  }else{ 
    console.log("尽情期待"); 
  } 
})();
Nach dem Login kopieren

2. Private Variablen: Alle in einer Funktion definierten Variablen können als private Variablen betrachtet werden, da auf diese Variablen außerhalb der Funktion nicht zugegriffen werden kann.

Privilegierte Methoden: Öffentliche Methoden, die Zugriff auf private Variablen und private Funktionen haben, werden als privilegierte Methoden bezeichnet.

2.1) Definieren Sie privilegierte Methoden im Konstruktor:

 function Person(name){ 
  this.getName=function(){ 
    return name; 
  }; 
  this.setName=function(value){ 
    name=value; 
  }; 
} 
var person1=new Person("Jason"); 
console.log(person1.getName());//=>Jason 
person1.setName("gray"); 
console.log(person1.getName());//=>gray 
var person2=new Person("Michael"); 
console.log(person1.getName());//=>gray 
console.log(person2.getName());//=>Michael 
person2.setName(&#39;Alex&#39;); 
console.log(person1.getName());//=>gray 
console.log(person2.getName());//=>Alex
Nach dem Login kopieren

Der Nachteil des Konstruktormusters besteht darin, dass für jede Instanz der gleiche Satz neuer Methoden erstellt wird.

2.2) Statische private Variablen zur Implementierung privilegierter Methoden

Definieren Sie im privaten Bereich zunächst private Variablen und private Funktionen und dann den Konstruktor und seine öffentlichen Methoden.

 (function(){ 
  //私有变量和函数 
  var name=""; 
  Person=function(value){ 
    name=value; 
  }; 
  //特权方法 
  Person.prototype.getName=function(){ 
    return name; 
  }; 
  Person.prototype.setName=function(value){ 
    name=value; 
  } 
})(); 
var person1=new Person("Jason"); 
console.log(person1.getName());//=>Jason 
person1.setName("gray"); 
console.log(person1.getName());//=>gray 
var person2=new Person("Michael"); 
console.log(person1.getName());//=>Michael 
console.log(person2.getName());//=>Michael 
person2.setName(&#39;Alex&#39;); 
console.log(person1.getName());//=>Alex 
console.log(person2.getName());//=>Alex
Nach dem Login kopieren

3. Modulmuster: Singletons können durch Hinzufügen privater Variablen und privilegierter Methoden erweitert werden.

Wenn Sie ein Objekt erstellen und es mit einigen Daten initialisieren und gleichzeitig einige Methoden offenlegen müssen, die auf diese privaten Daten zugreifen können, können Sie das Modulmuster verwenden.

var application=function(){ 
  //私有变量和函数 
  var components=[]; 
  //初始化 
  components.push(new BaseComponent()); 
  //公共接口 
  return { 
    getComponentCount:function(){ 
      return components.length; 
    }, 
    registerComponent:function(){ 
      if(typeof component=="object"){ 
        components.push(component); 
      } 
    } 
  } 
}();
Nach dem Login kopieren

Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.

Verwandte Artikel:

jsInstanz des Codes, der eine Funktion nach einer bestimmten Zeitverzögerung ausführt

Ausführliche Erklärung zur Verwendung von JS-Hash zum Erstellen einer Single-Page-Webanwendung

JS implementiert einfach ein schwebendes Fenster

Das obige ist der detaillierte Inhalt vonDetailliertes Verständnis des Bereichs auf Blockebene, privater Variablen und des Modulmodus in JavaScript (grafisches Tutorial). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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