js中new new Cache(),new每次实例化的是function还是什么?

JavaScript018

js中new new Cache(),new每次实例化的是function还是什么?,第1张

new Cache() 用Cache构造函数new一个对象obj

对象obj调用函数Cache返回一个函数fun

new new Cache() 就是用这个对象返回的函数作为一个构造函数,再new一个对象。

相当于 new fun没有括号代表不传参.

所以 new 每次实例化的都是function,否则就出错.

new  会创建  pre 的对象,

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

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

function pre(){

    this.radius = Math.random()

    return this.radius

}