JavaScript中的函数与构造函数的关系

先说结论:构造函数和普通函数是一样的,没有任何区别。

比如一个函数:

function foo(){
	console.log("我是张三")
}

这个函数可以直接这样调用:

foo() // 我是张三

也可以当作一个构造函数:

var a = new foo() // 我是张三

函数本身并不是构造函数,然而,当在普通的函数调用前加上new关键字以后,就会把这个函数调用变成一个“构造函数调用”。

实际上new会劫持所有的普通函数并用构造对象的形式来调用它。

函数不是构造函数,但是当且仅当使用new时,函数调用会变成“构造函数调用”。

因此:在JavaScript中对于“构造函数”最准确的解释是:所有带new的函数调用。

posted @ 2022-06-21 17:23  俄罗斯方块  阅读(30)  评论(0编辑  收藏  举报