2011-01-11 15 views

Antwort

2

Ihr Code ist legal, aber nicht das, was Sie meinen. Bei der Auswertung ist der key:... Teil this nicht an das noch nicht vorhandene Objekt gebunden, sondern an den Kontext, in dem myobj erstellt wird. Sie haben den Wert in einer Variablen zu speichern und dann die Variable ... wie:

var kv = "val1"; 
var myobj = { 
    key1: kv, 
    key2: kv 
}; 

beachten Sie, dass hier Sie keine Schließung wenn dies Ihre Angst zu schaffen. Das nur für function Ausdrücke

1

Versuch passiert:

var myobj = {}; 
myobj['key2'] = (myobj['key1'] = 'val1'); 

Da in Javascript, Wertzuweisung auch den Wert als auch zurückgibt, so dass Sie ein wenig prägnant sein kann.

+0

+1 Ich mag das auch. – JustcallmeDrago

Verwandte Themen