(1,eval)(参数);
请问大神,有见过这个格式的eval()形式么,前面的1又是代表啥意思?
例子:
var str = "hello";
console.log((1,eval)("str"));
eval(str)是把参数str作为转为js代码。
(1,eval)不是eval的特殊用法,而是括号的用法。(1,2,3,4)这个表达式返回的是4,也就是括号中最后一个。所以(1,eval)返回的也是函数eval。
(1,eval)("str")运算一次变为(eval)("str"),然后再运算一次变为eval("str")。
原来是这样,感谢大神的回复!