我刚刚通过timer.js的代码HERE。和整个下面的代码行来了:了解eval()的用法来评估布尔型
var paramList = ['autostart', 'time'];
for (var arg in paramList) {
if (func[paramList[arg]] != undefined) {
eval(paramList[arg] + " = func[paramList[arg]]");
}
};
在源代码中所有在同一行,但我做了它上面的可读性,我的困难是与eval
使用,即下面的代码行:
eval(paramList[arg] + " = func[paramList[arg]]");
现在如果我在Chrome中添加断点上述行,转至控制台和粘贴代码行我得到以下几点:
true
怎么来的?让我们再看看这个声明:
eval(paramList[arg] + " = func[paramList[arg]]");
什么是+
在这里做?将paramList[arg]
转换为字符串,在这种情况下,eval的使用方式如下:
eval("paramList[arg] = func[paramList[arg]]");
?
或者是用于连接目的的加号? (我认为这是不太可能的!)
我已阅读MDN eval(),但仍有疑虑。
有人能解释一下这个声明的细节吗?
谢谢。
+只是字符串连接 – caub