Heim > Web-Frontend > js-Tutorial > Beispiele für objektorientierten JavaScript-Funktionscode_Javascript-Kenntnisse

Beispiele für objektorientierten JavaScript-Funktionscode_Javascript-Kenntnisse

WBOY
Freigeben: 2016-05-16 16:44:52
Original
967 Leute haben es durchsucht

1. Verwendung von Grundklassen
Methode 1:

Code kopieren Der Code ist wie folgt:

function sth(a) // Konstruktor
{
this.a = a;
this.fun = output; // Member function
}

Funktionsausgabe(a, b, c)
{
document.write(this.a);

//Call

var s = new sth(250);
s.fun(1, 2, 3);
ouput(1, 2, 3); //Wenn die Ausgabe erfolgt etw. Es war vorher falsch

Methode 2:


Code kopierenDer Code lautet wie folgt:
Funktion etw(a)
{
this.a = a;
this.output = function()
{
document.write(this.a); }

var s = new sth(2);
s.output(); // Ausgabe 2


2. Vererbung

Methode 1:

Code kopieren Der Code lautet wie folgt:Funktion A(x) {
this.x = x ;
}

function B(x, y)
{ // Methode 1

/*
this.construct = A;
this.construct(x);
delete this .construct;
*/

// Methode 2
//A.call(this, x);

// Methode 3
A.apply(this , new Array(x)); // Sie können auch A.apply(this, arguments) verwenden, aber die Reihenfolge der Argumente muss korrekt sein

this.y = y;
this.print = function ()
{
document.write("x = ", x,
", y = ", y);
var b = new B(1, 2);
b.print();
alert(B instanceof A); // Ausgabe falsch

Vorteile: Es kann eine Mehrfachvererbung erreicht werden (einfach mehrere Anrufe tätigen)


Nachteile:
· Muss als Konstruktor verwendet werden

· Die Verwendung des „Instanceof“-Operators zum Ausführen dieser Art der Vererbung führt zu „False“

Methode 2:



Code kopieren


Der Code lautet wie folgt: Funktion A() { } A.prototype.x = 1;
function B()
{

}
B.prototype = new A(); // Parameter können nicht übernommen werden!
B.prototype.y = 2;
B.prototype.print = function()
{

document.write(this.x, ", ", this.y, "}

var b = new B();
b.print();
document.write(b Instanz von A); // Ausgabe wahr


Nachteile:
· Mehrfachvererbung kann nicht implementiert werden
· Konstruktor ohne Parameter

Tipps


Verwenden Sie normalerweise den gemischten Modus, beide zusammen

Kopieren Sie den Code


Der Code lautet wie folgt: function A(x) { this.x = x }
A.prototype.printx = function() // In Klasse A schreiben this.printx = function... . Es ist auch möglich, das Gleiche unten
{
document.write(this.x, "
"}

function B(x, y)
{
A.call(this, x);
this.y =
}
B.prototype = new A();
B.prototype.printxy = function()
{
document.write(this.x, ", ", this.y, "
"}

var b = new B(1, 2);
b.printx(); // Ausgabe 1
b.printxy(); // Ausgabe 1, 2
document.write(b Instanz von A); // Ausgabe wahr



3. Verwendung ähnlicher statischer Elementfunktionen



Code kopieren


Der Code lautet wie folgt:

function sth(a) { this.a = a; } sth.fun = function(s) {
document. write(s.a );
}

var s = new sth(2);
sth.fun(s); // Ausgabe 2




4. Freigabe von Objekten


Code kopieren

Der Code lautet wie folgt:

var obj = new Object; // obj ist eine Referenzobj = null; // Die Dereferenzierung führt automatisch eine Speicherbereinigung durch. Wenn Sie dieses Objekt überhaupt freigeben müssen, weisen Sie alle seine Referenzen null zu 🎜 >

5. Funktionsobjekt

Code kopieren Der Code lautet wie folgt:
var v = new Function("arg1", "arg2", "document.write(arg1 arg2);" // Definiere ein Funktionsobjekt, die Parameter sind arg1, arg2
v(1, 2); // Wird 3 ausgeben

6. Rückruffunktion

Code kopieren Der Code lautet wie folgt:
function callback (func, arg)
{
func(arg);}

function fun(arg)
{
document.write(arg); 🎜>}

//callback(func, "sb"); // Dieser Ansatz funktioniert nicht

var func = new Function("arg", "fun(arg);" );
// Natürlich können Sie func(arg) auch durch spezifischen Ausführungscode ersetzen,
// Aber es ist am besten, dies zu tun, wenn der Funktionscode umfangreich ist
callback(func, "sb ");

7. Überladung von Funktionen


Kopieren Sie den Code Der Code lautet wie folgt: function fun()
{
switch (arguments.length)
{
case 1:
document.write(arguments[0]);
break; > Fall 2:
document.write(arguments[0] arguments[1]);
break; 🎜> }
}

Spaß(1);
Spaß(1, 2);



8. Verwenden Sie Funktionsabschlüsse, um Funktionen mit „statischen Variablen“ zu implementieren


Code kopieren
Code As folgt:

function fun() { var v = 1; function fun2() { v;
document.write("
");
return v;
}

return fun2

var func = fun(); ;
func(); // Ausgabe 2
func(); // Ausgabe 3
func(); // Ausgabe 4


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