Heim > Web-Frontend > js-Tutorial > Hauptteil

Detaillierte Erläuterung der Verwendung in Javascript_Grundkenntnisse

WBOY
Freigeben: 2016-05-16 16:35:45
Original
1273 Leute haben es durchsucht

Ich habe dies während eines Interviews vor ein paar Tagen verwendet. Der Interviewer sagte, dass mein Verständnis etwas falsch sei. Ich habe einige Bücher und einige Blogs gelesen, einige Tests durchgeführt und festgestellt, dass mein Verständnis tatsächlich falsch war >

1. Globale Variablen

sollte die am häufigsten verwendete sein. Dies wird in einer Funktion aufgerufen, die eigentlich eine globale Variable

ist

var value="0"; function mei(){ 
 var value="1"; 
 console.log(this.value); //0  console.log(value);   //1 } 
mei();

Nach dem Login kopieren
Die Ausgabe ist 0, da dies auf das globale

verweist

2.Konstruktor

Dies ist eine Verwendung, mit der ich besser vertraut bin. Verwenden Sie diese im Konstruktor. Nach dem Erstellen eines neuen Objekts zeigt dies auf das neue Objekt.

var value="window"; function mei(){ 
 this.value=1; 
 this.show=function(){ 
  console.log(this.value) 
 } 
} var m=new mei(); 
console.log(m.value);  //1 m.show();        //1
Nach dem Login kopieren
Sie können sehen, dass die Ausgabe 1 anstelle von Fenster ist. Es ist zu erkennen, dass dies hier aufgrund des Konstruktors bereits auf ein neues Objekt und nicht auf eine globale Variable verweist.

3.Anrufen und bewerben

Leihen Sie sich die Beispiele direkt aus meinem Call-and-Apply-Blog aus

 var p="456"; 
 function f1(){ 
  this.p="123"; 
 } 
 function f2() { 
  console.log(this.p); 
 } 
 f2();       //456  f2.call(f1());  //123  f2.apply(f1());  //123

Nach dem Login kopieren
Die erste Zeile gibt 456 aus, was leicht zu verstehen ist. Dies weist auf die globale Situation hin. Die folgende 123 liegt daran, dass dies in f2 auf f1 zeigt und p in f1 123 ist , klicken Sie einfach auf den Artikel Blog

4. Die Funktion wird als Methode eines Objekts aufgerufen (wobei ich einen Fehler gemacht habe)

Ich wurde gebeten, ein Objekt mit mehreren Methoden zu schreiben. Ich habe plötzlich eine globale Variable definiert und diese dann verwendet, um sie in der Methode des Objekts aufzurufen. Ich sagte, es sollte Fenster sein, weil ich diese Methode selten verwende, und dachte, dass nur „Neu“ oder „Anruf“ die Richtung ändern würde. Er sagte, das sei falsch und bat mich, es mir noch einmal anzusehen , ich habe mich wirklich geirrt

var value="father"; function mei(){} 
mei.value="child"; 
mei.get=function(){console.log(this.value)}; 
mei.show=function(){console.log(value)}; 
mei.get();   //child mei.show();  //father

Nach dem Login kopieren
Da get als Methode von mei aufgerufen wird, verweist dies hier auf mei.value, sodass das Kind ausgegeben wird

Was Vater betrifft, verstehe ich es so. Die Funktion, auf die show zeigt, ist in der globalen Umgebung definiert, der Wert ist in show nicht zu finden, also suche ich ihn in der Umgebung, in der er angezeigt wird ist definiert, und dann finde ich die globale Umgebung wertvoll. Wenn es hier ein Missverständnis gibt, hoffe ich, dass jemand darauf hinweisen kann!

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