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,都已经被初始化过一次了。