function(){}和new function(){}之间的区别

时间:2018-08-30 13:58:28

标签: javascript function keyword

也许是一个理论性的问题,但是您可以解释一下以下输出结果吗:

function testA() {
    return function() {}

}
function testB() {
    return () => {};
}

function testC() {
    return new function() {}
}

console.log(testA());
console.log(testB());
console.log(testC());

A和B返回一个函数对象,我理解这是因为函数表达式设置为返回值。

但是,C(具有小写字母f =关键字的函数?)返回一个空对象。为什么?

我实际上希望代码失败,因为函数是关键字。我之所以这样问,是因为我在f(new function(){})中已经在回调中看到了情况C。

非常感谢。

0 个答案:

没有答案