先来说eval的用法,内容比较简单,熟悉的可以跳过eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行结果是一个值,则返回此值,否则返回undefined。 需要特别注意的是对象声明语法“{}”并不能返回一个值,需要用括号括起来才会返回值,简单示例如下:
代码如下:var s1='\u201da\u201d + 2\u2032; //\u8868\u8fbe\u5f0fvar s2='{a:2}’; //语句alert(eval(s1)); //->’a2′alert(eval(s2)); //->undefinedalert(eval(‘(‘ + s2 + ‘)’)); //->[object Object]
1