首先你要明白this关键字是与运行时环境有关,和声明时环境无关。
new test(1).fun2()这个fun2调用fun1时这句alert(tihs.m_num)这个this的运行环境是fun2,所以它代表fun2,只会弹出undefined,
new test(1).fun3()由于fun3的指针是指向fun1的,而fun1是test的一个属性,这句alert(tihs.m_num)这个this的运行环境是test,所以它代表test,只会弹出5。
var gaga= new Gaga( "尜尜",null,"黑色")这样就是一个对象的实例化;实例化对象,其实就是创建对象过程;
要用一个类中的一个方法。如果这个类是静态类,那么ok,可以直接调用这个方法。
可是如果这个类不是静态类呢?
就需要用对象来引用这个方法了。那么对象如何来呢?就需要new一下了。
例:B类要调用,A类中的 gaga()方法。
那么在调用干这个方法之前,必须要要创建A的对象。
A a = new Gaga()
a.Gaga()