javascript - Welchen Umfang haben Objekte in JS? Oder haben Sie Fragen zu den Eigenschaften von Objekten?

WBOY
Freigeben: 2016-08-23 09:17:41
Original
1048 Leute haben es durchsucht

<code>var a=3;
var object = { 
    a:2, 
    run: function() {
         alert(a);         //a=3;
         } 
    }; 
object.run(); </code>
Nach dem Login kopieren
Nach dem Login kopieren

Warum ist a nicht 2?
Was bedeutet a:2 im Objekt?

Antwortinhalt:

<code>var a=3;
var object = { 
    a:2, 
    run: function() {
         alert(a);         //a=3;
         } 
    }; 
object.run(); </code>
Nach dem Login kopieren
Nach dem Login kopieren

Warum ist a nicht 2?
Was bedeutet a:2 im Objekt?

<code>run: function() {
     this.a=1;
     } 
}; </code>
Nach dem Login kopieren

Wenn Sie es nicht explizit angeben, handelt es sich immer noch um eine Variable im globalen Bereich.

<code class="javascript">var a=3;
var object = { 
    a:2, 
    run: function() {
         alert(this.a);//2
         alert(a);//3 
        } 
    }; 
object.run(); </code>
Nach dem Login kopieren

Es ist eine Frage des Bereichs. Zu diesem Zeitpunkt sucht das Programm zunächst im aktuellen Bereich , und dann wird var a gefunden. Es ist tatsächlich äquivalent zu window.a. Wenn Sie hier direkt ein a auftauchen, entspricht es dem Finden eines a im globalen Bereich von window.a Ist es nicht das, nach dem object.a sucht? Wie bereits erwähnt, ist es äquivalent zu window.a und nicht zu obejct.a. Als objektorientierte Programmiersprache muss js einen Platz haben, zu dem alles gehört. Wenn Sie dies nicht tun, ist dies gleichbedeutend damit, dass js alles besitzt ist unter dem Fenster definiert. Wenn Sie also nicht zuerst definieren, um welches a es sich handelt, entspricht a direkt dem Fenster. Natürlich ist das, was unterhalb der Funktion definiert ist, gleichbedeutend mit der Zugehörigkeit zum Funktionsumfang. Im Detail gibt es nicht viel zu sagen. Weitere Informationen lesen.

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