Jedes Funktionsobjekt hat ein Längenattribut, das die Anzahl der Parameter angibt, die die Funktion empfangen wird.
Die Codekopie lautet wie folgt:
<html>
<kopf>
<script type = "text/javaScript">
var add = function (num1, num2, num3) {
alert (num1+num2+num3);
}
alert (add.length);
</script>
</head>
<body>
</body>
</html>
Über die Erschaffung von objektorientiertem JS,
Ziel:
Erstellen Sie ein Bestellobjekt.
Enthält drei Attribute: Datum, Betrag, Subjekter
Enthält eine Methode: Anzeige Zeichenfolge: "xx hat eine Bestellung mit einer Quote von: xxxx yuan in xxx-xx-xx eingereicht"
Eine Fabrikmethode
Die Codekopie lautet wie folgt:
<script type = text/javaScript>
/*
Fabrikmethode: Die Objekte mithilfe von Methoden zurückgeben. Bei dieser Verwendung müssen keine neuen Objekte generiert werden.
*/
Funktion createorder () // Sie können auch eine Fabrikmethode mit Parametern erstellen, um Objektdaten basierend auf den bestandenen Parametern zu initialisieren.
{
var order = new Object ();
order.date = "1990-1-1";
order.price = "3200";
order.name = "vince keny";
order.show = function () // Wenn Sie die Show -Methode in der Fabrik platzieren, erstellen Sie für jede Instanz eine Showmethode separat. Die Verschwendung von Ressourcen ist der Nachteil dieses Musters.
{
alert (this.name + "in" + this.date + "Order mit einer Quote von" + this.price + "rmb.")
}
Rücklaufauftrag;
}
// Geben Sie das Objekt mit dem Werksmodus zurück:
var order = createorder ();
// Es kann auch auf diese Weise verwendet werden, wodurch das Werksmuster in einen "Pseudokonstruktor" umgewandelt wird. Da neu in der Fabrik verwendet wird, wird der neue Bediener beim Erstellen des Objekts ignoriert.
var order2 = new Createorder ();
order.show ();
order2.show ();
</script>
Zwei Konstruktormethode
Die Codekopie lautet wie folgt:
/*
Die Konstruktormethode und die Methodenerklärung entsprechen der Fabrikmethode, und es gibt die gleichen Probleme und können extrahiert werden. Der Unterschied besteht darin, dass dies verwendet wird, um Attribute zu deklarieren.
Und Sie müssen den neuen Bediener verwenden, um eine Instanz zu generieren.
*/
Funktionsreihenfolge ()
{
this.date = "1990-1-1";
this.price = "3200";
this.name = "Vince Keny";
this.show = function ()
{
alert (this.name + "in" + this.date + "Order mit einer Quote von" + this.price + "rmb.")
}
}
var order = new order ();
order.show ();
Drei Prototypmethoden
Die Codekopie lautet wie folgt:
/*
Prototypmethode: Verwenden Sie Prototypen
*/
Funktionsreihenfolge ()
{}
Order.prototype.date = "1990-1-1";
Order.prototype.price = "3200";
Order.prototype.name = "vince keny";
Order.prototype.show = function ())
{
alert (this.name + "in" + this.date + "Order mit einer Quote von" + this.price + "rmb.")
}
var order = new order ();
order.show ();
Vier Hybridkonstruktor/Prototypmethode
Die Codekopie lautet wie folgt:
/*
Hybridkonstruktor/Prototypmethode: Initialisieren Sie Attributfelder mithilfe der Konstruktormethode und verwenden Sie die Prototypmethode, um Methoden zu konstruieren.
*/
Funktionsreihenfolge ()
{
this.date = "1990-1-1";
this.price = "3200";
this.name = "Vince Keny";
}
Order.prototype.show = function ().
{
alert (this.name + "in" + this.date + "Order mit einer Quote von" + this.price + "rmb.")
}
var order = new order ();
order.show ();
Fünf dynamische Hybridmethoden
Die Codekopie lautet wie folgt:
/*
Dynamische Mischmethode: Der Unterschied zwischen der Mischmethode liegt in der Position der Deklaration der Methode. Das Leben der Methode innerhalb des Konstruktors ist eher mit objektorientiertem Übereinstimmung überein.
*/
Funktionsreihenfolge ()
{
this.date = "1990-1-1";
this.price = "3200";
this.name = "Vince Keny";
if (typeof order._initialized == "undefined")
{
Order.prototype.show = function ().
{
alert (this.name + "in" + this.date + "Order mit einer Quote von" + this.price + "rmb.")
};
Order._initialized = true;
}
}
Funktion Car (Scolor, Idoors) {
var otempcar = neues Objekt;
otempcar.color = scolor;
otempcar.doors = idooes;
otempcar.showcolor = function () {
alarm (this.color)
};
return otempcar;
}
var ocar1 = neues Auto ("rot", 4);
var ocar2 = neues Auto ("blau", 3);
ocar1.showcolor (); // Ausgibt "rot"
ocar2.showcolor (); // Ausgibt "blau"