开启 Eager evaluation 后,可实时显示表达式的执行结果:
并且即使是 getter 属性函数,也能自动计算:
但如果代码会修改外部变量,也是说存在副作用,就不会自动计算了:
而对于 console.log 、alert 等会影响界面的,那就更不用说了。。。
不知有什么奇技淫巧的黑科技,可以让存在副作用的代码也能自动运行,甚至弹出 alert 框?
另外,貌似过于复杂的计算也不会执行。例如:
(function() { // 会计算,但有延时
for (var i = 0; i < 1e7; i++);
return 1;
})()
如果增加循环长度:
(function() { // 无结果
for (var i = 0; i < 1e9; i++);
return 2;
})()
但对于非循环的耗时计算,却仍会自动执行:
9n ** 9n ** 9n
导致浏览器直接卡死。。。