我在Chrome 58中遇到了new Function(...)
的一些奇怪行为。在调试点暂停时在开发者控制台中执行new Function(...)
时,会返回undefined
而不是新创建的函数
jsbin示例:http://jsbin.com/raluwu/edit?html,output
<!DOCTYPE html>
<html>
<body>
<script>
// open the developer console in Chrome 58,
// and run this code until the debug point
debugger;
//eval('debugger');
// when at the debug point, enter the following in the console:
//
// var f = new Function ('a', 'return a + a');
// // f should be a function but is undefined when in debug mode
//
// console.log(f(2));
// // should return 4, but throws "Uncaught TypeError: f is not a function"
// without debug point, everything runs fine:
var f = new Function ('a', 'return a + a');
console.log(f(2)); // 4
</script>
</body>
</html>
这是Chrome中的错误吗?
答案 0 :(得分:2)
我已经做了一些挖掘,发现了一个关于这个问题的错误报告:
https://bugs.chromium.org/p/chromium/issues/detail?id=705149
所以,这确实是Chrome中的一个错误