2012-04-05 10 views
0

Hallo, ich arbeite in Javascript und html5.Ich möchte fragen, wie können wir ein Array als Datenelement einer Klasse in Javascript Ich habe geschrieben ein CodeWie deklariert Array als Datenelement einer Klasse in JavaScript

var bm = new Bitmap(img); //It is a built in class of some library 

/*Here what I want is to associate an array with object of bitmap*/ 
/* what i did is */ 
var lpr = new Array(); 
bm.lpr[0]= "xyz" ; 
bm.lpr[1]= "pqr" ; 

aber wenn ich das Array angezeigt.

alert(bm.lpr[0]); 

bekam ich den Fehler

Uncaught TypeError: Cannot set property '0' of undefined

kann jemand bitte sagen Sie mir den richtigen Weg it.Also tun mein Array-Update zur Laufzeit sein

Dank

+1

Ihre bm Variable keine lpr Eigenschaft hat, sind sie zwei verschiedene Variablen. Ich bin mir nicht sicher, was Sie versuchen, zu tun ... – Gatekeeper

+0

Ja hat es nicht, aber kann jede Eigenschaft des Datenmitglieds dazu hinzufügen – mainajaved

+0

sicher, aber Sie müssen diese Eigenschaft in bm Variable initialisieren, bevor Sie versuchen, auf seine Mitglieder zuzugreifen ... – Gatekeeper

Antwort

1

Sie nur eine Zeile ändern:

var bm = new Bitmap(img); 

bm.lpr = new Array(); //this is the line you need to change 
bm.lpr[0]= "xyz" ; 
bm.lpr[1]= "pqr" ; 


alert(bm.lpr[0]); 
+0

Vielen Dank für Hilfe – mainajaved

2

Wenn Sie möchten eine Eigenschaft der bm Instanz ein Array halten, können Sie das so tun ...

bm.lpr = ['xyz', 'pqr']; 

Ihre alert() wird dann zeigen, was Sie wollen.

+0

danke viel, aber ich möchte es zur Laufzeit – mainajaved

+0

anstelle von' bm.lpr' Zuweisungen aktualisieren, tun auf 'lpr' nur und am Ende update das' bm' Objekt 'bm.lpr = lpr' –

+0

' bm.lpr' muss ein 'Array' sein, bevor Sie Elemente zu diesem Array hinzufügen können; Andernfalls versuchen Sie, Elemente zu "undefiniert" hinzuzufügen. Wenn Sie die Werte des Arrays nicht zu Beginn initialisieren möchten, können Sie 'bm.lpr = []' schreiben und dann später Elemente in das Array verschieben. – Jacob

Verwandte Themen