Heim  >  Artikel  >  Web-Frontend  >  Zusammenfassung der wichtigsten Punkte, auf die bei praktischen Anwendungen von JavaScript geachtet werden muss

Zusammenfassung der wichtigsten Punkte, auf die bei praktischen Anwendungen von JavaScript geachtet werden muss

伊谢尔伦
伊谢尔伦Original
2017-07-26 13:44:261009Durchsuche

Bei allen von Ihnen erstellten Funktionen wird die Groß-/Kleinschreibung beachtet.

Einfache Anführungszeichen („string“) und doppelte Anführungszeichen („string“) haben in JavaScript keine besondere Bedeutung. Unterschiede können zum Erstellen verwendet werden Generell entscheiden sich die meisten WEB-Entwickler jedoch für die Verwendung von einfachen Anführungszeichen anstelle von doppelten Anführungszeichen, da die XHTML-Spezifikation erfordert, dass alle XHTML-Attributwerte in doppelte Anführungszeichen gesetzt werden müssen.
JavaScript unterstützt nicht Überladung. Wenn ein Skript in JavaScript ausgeführt wird, berücksichtigt es nicht die Parameter, wenn die Funktion definiert ist, sondern verwendet direkt die letzte in der Bereichskette definierte Funktion. Dies bedeutet, dass es immer nur eine Instanz einer Funktion mit demselben Namen gibt.

Der Abschluss ist ein Konzept, das sich auf den Umfang bezieht. Es bezieht sich auf die innere Funktion, auch nachdem die äußere Funktion abgeschlossen ist Die Ausführung erfolgt und wird beendet. Danach können Sie weiterhin auf die Eigenschaften der externen Funktion zugreifen. Wenn auf eine Variable oder Methode verwiesen wird, analysiert JavaScript die Nutzungsdomäne entlang der Nutzungsdomänenkette, die durch den Ausführungspfad des Objekts gebildet wird, sucht nach dem zuletzt definierten Wert der Variablen und verwendet diesen Wert, sobald er gefunden wurde.

function initAnchors(event){ 
  for (var i=1; i <=3; i++){ 
    var anchor = document.GetElementById(&#39;anchor&#39; + i); 
    anchor.attachEvent(&#39;onclick&#39;, function() {  
    alert(&#39;my id is anchor&#39; + i); 
    }); 
  } 
}

Angenommen, es gibt drei A-Elemente auf der Seite mit den IDs von Anker1 bis Anker3. Das Programm registriert Onclick-Ereignisse für die drei A-Elemente und zeigt „meine ID ist AnkerX“ an. Tatsächlich ist dies jedoch beim Ausführen nicht der Fall. Wenn Sie auf jedes A-Element klicken, wird „Meine ID ist Anker4“ angezeigt. Warum ist das so? Weil der Wert von i tatsächlich aus der Domänenkette abgerufen wird, wenn das Klickereignis auftritt, wurde initAnchors() ausgeführt und der Wert von i ist gleich 4. Die Lösung kann wie folgt aussehen:

function registerAnchorListner(anchor,i){ 
  anchor.attachEvent(&#39;onclick&#39;, function() {  
    alert(&#39;my id is anchor&#39; + i); 
  }   
} 
function initAnchors(event){ 
  for (var i=1; i <=3; i++){ 
    var anchor = document.GetElementById(&#39;anchor&#39; + i); 
    registerAnchorListner(anchor,i); 
  } 
} 
var anchor = document.GetElementById(&#39;anchor&#39; + i); 
anchor.attachEvent(&#39;onclick&#39;, function() { 
alert(&#39;my id is anchor&#39; + i); 

});

Iterationsobjekte werden häufig beim Schreiben von Skripten wie folgt verwendet:

var list = [1,2,3,4]; 
for(var i = 0;i < list.length; i++){ 
  alert(list); 
}

Eine andere alternative Iterationsmethode besteht darin, eine for-Schleife zu verwenden und jedes Objekt zu durchlaufen Attribut in (in)list:

for(var i in list){ 
  alert(list); 
}

An diesem Punkt erhalten Sie das gleiche Ergebnis wie bei Verwendung der vorherigen Iterationsmethode, da list ein Array-Objekt ist.
Sie müssen jedoch besonders vorsichtig sein, wenn Sie die Methode for(var i in item) verwenden, um Objekte zu manipulieren, die Arrays, aber nicht Arrays ähneln, wie folgt:

var all=document.getElementsByTagName(&#39;*&#39;); 
for(var i in all){ 
  //对照all元素进行某些操作 
}

In diesem Iterationsprozess ist i Die Werte entsprechen jeweils „length“, „item“ und „namedItem“, was wahrscheinlich zu unerwarteten Fehlern im Code führt. In einigen Fällen können Sie die hasOwnProperty()-Methode des Objekts verwenden, um dieses Problem zu vermeiden. Wenn die Eigenschaften oder Methoden des Objekts nicht geerbt sind, gibt die Methode hasOwnProperty() true zurück. Das heißt, die Prüfung betrifft hier keine Eigenschaften und Methoden, die von anderen Objekten geerbt wurden, sondern nur Eigenschaften, die direkt im spezifischen Objekt selbst erstellt wurden, beispielsweise Elemente, die einem Array zugewiesen sind. Wenn Sie diese Prüfung in einer for-Schleife verwenden, überspringt die Schleife daher das Längenattribut, da die Länge kein echtes Attribut des Arrays all ist, sondern ein vom NameNodeMap-Objekt geerbtes Attribut, das das Array all

var all=document.getElementsByTagName(&#39;*&#39;); 
for(var i in all){ 
  if(!all.hasOwnProperty(i)) continue; 
  //对照all元素进行某些操作 
}


Das obige ist der detaillierte Inhalt vonZusammenfassung der wichtigsten Punkte, auf die bei praktischen Anwendungen von JavaScript geachtet werden muss. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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