js中的new加不加有什么区别?

JavaScript07

js中的new加不加有什么区别?,第1张

new  会创建  pre 的对象,

但是没有 new 的话就没有没有可返回的值或对象了,所以是  undefined。

如果不想new 新的对象的话,可以在 pre 的方法里 返回一个值或对象。

function pre(){

    this.radius = Math.random()

    return this.radius

}

new声明的是一个对象,而不是函数 而直接写函数,那就不是对象,是无法调用对象的属性的。

如果不new,直接调用YourFunc,不做对象的初始化;

如果new,先初始化一个对象,然后调用YourFunc作为初始化函数。

初始化对象的时候,会把所有YourFunc.prototype的属性方法,copy一份给这个对象;意味着你在YourFunc里面如果调用this.a this.b this.c this.sayHello,都已经被初始化过一次了。