JavaScript 中 new 和 直接调用函数的区别
直接调用是指直接使用函数名来调用函数,而不是使用 new 关键字来创建一个新的对象实例。
区别如下:
-
使用
new关键字调用函数会创建一个新的对象实例,而直接调用函数不会创建新的对象实例。 -
使用
new关键字调用函数时,函数内部的this指向新创建的对象实例,而直接调用函数时,this指向全局对象或者调用者对象。 -
使用
new关键字调用函数时,函数内部会自动返回新创建的对象实例,而直接调用函数时,函数内部没有返回值或者返回undefined。 -
使用
new关键字调用构造函数时,可以使用构造函数内部的属性和方法,而直接调用函数时,无法使用构造函数内部的属性和方法。
因此,如果想要创建一个新的对象实例并使用构造函数内部的属性和方法,应该使用 new 关键字调用构造函数。如果只是想调用函数并获取函数返回值,可以直接调用函数。
原文地址: https://www.cveoy.top/t/topic/ngBi 著作权归作者所有。请勿转载和采集!