Uncaught TypeError is not a constructor? 财富值47

2016-11-01 15:06发布

首先

function a(){     this.a1="haha"; } b=new a(); console.log(b); 

可以正常运行的毋庸置疑。

那么改一下

a=function (){     this.a1="haha"; } b=new a(); console.log(b); 

同样可以正常运行。

再改一下

a=function (){     this.a1=function (){         this.a2="haha";     };     e=new this.a1();     console.log(e); } b=new a(); 

还是可以正常运行。

但是再改一下就不行了

a=function (){     this.a1=function (){         this.a2="haha";     }; } b=new a(); e=new a.a1(); 

chrome控制台提示Uncaught TypeError: a.a1 is not a constructor

想问一下这是什么原因?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2条回答

因为a方法没实例化,所以你找不到构造的私有属性a1。

一周热门 更多>