为什么不window.x
打印10
?
eval("var x = 10;");
console.log(window.x); // undefined
console.log(x); // 10
答案 0 :(得分:6)
您在侧面板中选择了onLoad
,它将所有内容包装在匿名函数中。如果你选择"没有包装"它有效。
演示:http://jsfiddle.net/kzd4z/2/
您可以通过查看来源看到这一点:
//<![CDATA[
window.onload=function(){
eval("var x = 10;");
console.log(window.x); // undefined
console.log(x); // 10
}//]]>
答案 1 :(得分:1)