var myFunc = new Object(function myFunc(){})和function myFunc(){}有什么区别?

时间:2019-05-09 10:27:29

标签: javascript object new-operator

我不知道您可以使用新对象创建函数:

var myFunc = new Object(function myFunc () {})

看看控制台,它看起来与:

function myFunc () {}

是否有理由使用新的Object创建函数?

1 个答案:

答案 0 :(得分:1)

根据Object(...) documentation:

  

Object构造函数为给定值创建一个对象包装。如果该值为null或未定义,它将创建并返回一个空对象,否则,将返回一个类型与给定值相对应的对象。 如果该值已经是一个对象,它将返回该值。

函数是对象,因此它将仅返回函数。 new Object(...)部分是禁止操作的部分。所以代码基本上就是:

  var myFunc = function myFunc() { }

barely equal to a function declaration