Heim >Web-Frontend >js-Tutorial >Objektprogrammierung in JavaScript

Objektprogrammierung in JavaScript

高洛峰
高洛峰Original
2016-11-25 11:36:291108Durchsuche

Aussagen zur objektbasierten Programmierung Jetzt haben wir die Kraft, Folgendes über die objektbasierte Programmierung zu lernen, aber es gehört eigentlich zum vorherigen Kapitel.

with-Anweisung Gibt das Standardobjekt für eine Anweisung oder eine Gruppe von Anweisungen an.

Verwendung:
with () ; Die
with-Anweisung wird normalerweise verwendet, um die Menge an Code zu verkürzen, die in einer bestimmten Situation geschrieben werden muss. Bitte beachten Sie im folgenden Beispiel die wiederholte Verwendung von Math:
x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10);
y = Math.tan(14 * Math .E);
Bei Verwendung der with-Anweisung wird der Code kürzer und besser lesbar:
with (Math) {
x = cos(3 * PI) + sin(LN10);
y = tan(14 * E);
}
dieses Objekt gibt das „aktuelle“ Objekt zurück. An verschiedenen Orten stellt dies unterschiedliche Objekte dar. Wenn dies im „Hauptprogramm“ von JavaScript verwendet wird (nicht in irgendeiner Funktion, nicht in irgendeinem Event-Handler), stellt es das Fensterobjekt dar; wenn es im with-Anweisungsblock verwendet wird, stellt es das von with angegebene Objekt dar; Wenn Sie dies in einem Ereignishandler verwenden, stellt es das Objekt dar, bei dem das Ereignis aufgetreten ist.

Eine häufige Verwendung davon:
<script><br>...<br>function check(formObj) {<br> ...<br>}<br>... <br></script>


...


...
< input type="text" ... onchange="check(this.form)">
...

...

Diese Verwendung wird häufig verwendet, um die Gültigkeit von Formulareingaben sofort zu überprüfen.

Benutzerdefinierter Konstruktor Wir wissen bereits, dass Konstruktoren wie Array() und Image() es uns ermöglichen, eine Variable zu erstellen. Tatsächlich können wir auch unseren eigenen Konstruktor schreiben. Benutzerdefinierte Konstruktoren verwenden auch Funktionen. Verwenden Sie dies innerhalb einer Funktion, um Eigenschaften zu definieren.
Funktion }
Verwenden Sie dann das neue Konstruktorschlüsselwort, um die Variable zu erstellen:
var = new [()]; ;Variablenname> wird zu einem Objekt, das seine eigenen Eigenschaften hat – die Eigenschaften, die in der Funktion damit festgelegt werden.

Das Folgende ist ein Beispiel für einen benutzerdefinierten Konstruktor im Internet zum Sammeln von Browserdetails:
function Is() {
var agent = navigator.userAgent.toLowerCase();
this .major = parseInt(navigator.appVersion); //Hauptversionsnummer

this.minor = parseFloat(navigator.appVersion);//Vollversionsnummer

this.ns = ((agent.indexOf(mozilla )! =-1) &&
                                                                                                                                                                                                                                          .ns2 = (this.ns && (this.major == 3)); //Ist Netscape 2
this.ns3 = (this.ns && (this.major == 3 )); //Ist Netscape 3
this.ns4b = (this.ns && (this.minor < 4.04)); //Ist es eine niedrigere Version von Netscape 4
this.ns4 = (this .ns && (this.major >= 4) ); //Ob es sich um eine höhere Version von Netscape 4 handelt
this.ie = (agent.indexOf("msie") != -1); it is IE
this.ie3 = (this.ie && (this. major == 2)); //Ob IE 3
this.ie4 = (this.ie && (this.major >= 4 )); //Ob IE 4
this.op3 = (agent. indexOf("opera") != -1); //Ob es Opera 3 ist
this.win = (agent.indexOf(" win")!=-1); //Ob es sich um eine Windows-Version handelt
this.mac = (agent.indexOf("mac")!=-1); //Ist es eine Macintosh-Version
this. unix = (agent.indexOf("x11")!=-1); //Ist es eine Unix-Version
}

var is = new Is();
Dieser Konstruktor sammelt Browserinformationen sehr vollständig. Wir sehen, dass es viele Attribute für Objekte definiert: Major, Minor, NS, also Win, Mac usw. Die Bedeutung finden Sie in den obigen Anmerkungen. Nachdem Sie die Variable is als Is()-Objekt definiert haben, können Sie die Browserinformationen mithilfe des Formats if (is.ns) leicht ermitteln. An diesem Konstruktor können wir auch erkennen, dass er auch normale JavaScript-Anweisungen (Var-Anweisungen im obigen Beispiel) verwenden kann.

Sehen wir uns einen anderen Konstruktor an, der Parameter verwendet:
function myFriend(theName, gender, theAge,birthOn, theJob) {
this.name = theName;

this.isMale = (gender. toLowerCase == male);

this.age = theAge;
this.birthday = new Date(birthOn);

this.job = theJob

}

var Stephen = new myFriend(Stephen, männlich, 18, 22. Dezember 1982, Student);
Mit diesem Konstruktor sehen wir nicht nur die Verwendung von Parametern, sondern auch, wie verschiedene Attribute unterschiedliche Datentypen verwenden. Ja (die fünf Attribute im obigen Beispiel sind: Zeichenfolge, boolescher Wert, Zahl, Datum, Zeichenfolge). Wir haben auch gesehen, dass der Konstruktor auch zum „Konstruieren“ von Attributen im Konstruktor verwendet werden kann. Wenn genügend „Schutzmaßnahmen“ verwendet werden, um Endlosschleifen zu vermeiden, können Sie den Konstruktor selbst verwenden, um Ihre eigenen Eigenschaften zu erstellen.


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
Vorheriger Artikel:Fensterobjekt in JavaScriptNächster Artikel:Fensterobjekt in JavaScript