方式1:
function A(B){ this.parter = B; } function B(){ } function Test(){ var b = new B(); new A(b); }
方式2:
function A(){ this.parter = null; } function B(){ } function Test(){ var a = new A(); a.parter = new B(); }
这两种最大的区别在于:
第一种方式中,可以无忧无虑的访问B属性,B肯定是存在的。
第二种方式中,访问B属性,不一定存在。
原因是,第二种方式中,只有A实例化完成之后,才会执行赋值语句。
时间: 2024-10-13 02:36:02