おそらくさんざん他のところでもでてきていると思うのですが、JSONをJavaScriptを使ってevalを行なう場合、なぜか、
vae hoge = eval('(' + jsondata ')'); |
これってなぜかなーっと思っていたら、なんとなくその答えになるようなエントリーがありました。
というわけで、ラベル文として解釈しているんだなーっと。JavaScriptの文法定義(http://www.mozilla-japan.org/js/language/grammar14.html)を見てみるとこの謎が解ける。JavaScript1.5にはラベル文(LabeledStatement)というものがあって、さらにラベル文のラベル部分は"Identifier :"と定義されているので、文字列はここには書けない。
via:JavaScriptでJSONをeval
0 コメント:
コメントを投稿