eval解析対象

377 ワード



var obj = eval("{'test':123}"); //  
alert(obj);  

var obj = eval("({'test':123})");//        
alert(obj);  
ペアの中かっこを入れて、{}先に強制的に演算してobjectにします.
括弧がなくて、evalは{}が文のブロックだと思っています.javascriptは文の優先ですから、evalの後に得られたのは
「test 1」:「1」、「test 2」:「2」、…
これはalertでは明らかに間違っています.