티스토리 뷰
<html>
<body>
<script type="text/javascript">
var s = eval("{'s':1, 'b':2, 'c':3}");
alert(s);
alert(s.c);
</script>
</body>
</html>
위의 코드는 invalid label error가 발생한다.
이유는 eval이 처음만나는 부분 : 전까지를 label로 해석하기 때문이다.
label :
statement
이런 구조로 해석해서 문제 발생
따라서 앞뒤에 ()를 넣어주도록 한다.
이렇게 고쳐야한다.
var s = eval("({'s':1, 'b':2, 'c':3})");
자세한 내용은 아래 url을 참조하도록
http://willcode4beer.com/tips.jsp?set=jsonInvalidLabel
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Statements:label