var value = 1;
var str = '{
"name" : "jifeng",
"company" : "taobao",
"value" : ++value
}';
C1:
eval(str);
// 参数错误
C2:
eval("str");
// 直接返回原字符串 —— value : ++value
// value = 1
C3:
eval("(str)");
// 直接返回原字符串 —— value : ++value
// value = 1
C4:
eval("'str'");
// 返回字符串str
C5:
eval('('+str+')');
// 执行js —— value : 2
// value = 2
W3C中对于参数说明:
如上
Q1:
C1中str为何报错,不是字符串对象吗
Q2:
C3和C5的区别,其中()的作用是什么
Q3:
C3和C4为何不是直接返回“str”字符串