js杂记

eval=============================

待转换的是一个Json字符串:

{'name':'新欢'}

而使用如下这种方式调用则会抛出语法异常,

eval("{'name':'新欢'}");

  必须加上括号才行

eval("(" + "{'name':'新欢'}" + ")");

原因如下:

  如果不加小括号,js会将这个字符串当作一个代码段来执行,而并非表达式(js中支持{}来分隔一段代码),而一个对象的声明,恰恰是一个表达式。

  事实上使用eval("var obj = {'name':'新欢'}")这种方式也是可行的


上一篇:js-执行上下文


下一篇:Js 单例内置对象