2010-12-29 4 views
2

Welches sollte der bessere Ansatz sein, um JavaScript-Code zu schreiben, und warum?Welcher von diesen sollte der bessere Ansatz sein, JavaScript-Code zu schreiben?

1)

var myClass = function(){} 

myClass.prototype.init = function(x, y){ 
    this.width = x; 
    this.height = y; 
} 

myClass.prototype.show = function(){ 
    alert("width = "+ this.width+" height = "+ this.height); 
} 

2)

var myObj = { 
    init : function(x, y) 
    { 
     this.width = x; 
     this.height = y; 
    }, 
    show : function() 
    { 
     alert("width = "+ this.width+" height = "+ this.height);  
    }   
} 
+3

Markdown behandelt nicht Listen gefolgt von Code korrekt, nie hat ... leicht bearbeitet, um die richtige Formatierung zu bekommen :) –

Antwort

4

Was haben Sie sind zwei völlig verschiedene Dinge, die erste eine Art und Weise ist eine "Klasse" des Objekts zu erstellen, können Sie viele haben Instanzen, die zweite ist ein einzelnes Objekt ... so dienen sie sehr unterschiedlichen Zwecken.

Benötigen Sie viele Objekte mit eigenen Eigenschaften? dann ist das erste ein Muss (es gibt viele Formen davon, wenn es um Vererbung geht, etc ... aber die grundlegende function Struktur ist, was ich meine).

Benötigen Sie nur ein Objekt mit einigen Variablen/Methoden? dann geh mit dem zweiten.

+0

Ist es wie eine anonyme Klasse, lebt nur in einer Instanz? – Simon

+1

@ Simon - die zweite ist ein benanntes Objekt, "myNewClass" ... was wirklich ein schlechter Name ist, da es keine Klasse ist, es ist nur eine Instanz auf Objekt. –

+0

Danke Nick, ich möchte nur noch eine Sache wissen ... ist dieser Unterschied auch mit dem Speicherverbrauch verbunden? – Bhupi

Verwandte Themen