連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) <input type="button" value="「1」と表示" onClick="f()"> <script language="JavaScript"> function f() { var str = "{x:1}"; // JSONオブジェクトにする var obj = eval(str); // プロパティを表示 alert( obj.x ); } </script> 答え IEでもFirefoxでも,「undefined」と表示されてしまう。 もしもオブジェクトのプロパティが1個ではなく,複数個だったらどうなるか。 var str = "{x:1, y:2}"; これをeval()すると,undefinedではなく,実行エラーになる。 Firebugのコンソールには「in
![JavaScriptの動かないコード (中級編) jsonオブジェクトをevalできないエラー - 主に言語とシステム開発に関して](https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png)