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 (
Eine häufige Verwendung davon:
<script><br>...<br>function check(formObj) {<br> ...<br>}<br>... <br></script>
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
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.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.age = theAge;
this.birthday = new Date(birthOn);
}
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.