下面的那个MyInformation函数是一个类的声明,也就是说MyInformation是一个类的构造器,而它里面有一句this.show=show;
这一句的意思是这个类中有一个show方法(this.show),所谓方法就是类特有的一个函数,所以在show这个函数,其实是MyInformation类的一个方法,而show里面的this,当然指的是MyInformation这个类本身,而不是show.
这个例子,程序不应该这样写,这样写对于初学者可能不是很好理解,
实际应该把function show(){...}这个函数写到MyInformation的里面
也就是类似于:
function MyInformation(){
this.xxx=aaa;
this.yyy=bbb;
....
this.show=function(){
alert(this.info);
}
}
这样写的话你可能容易理解一点。当然我们还可以通过prototype原型构造器来构造这个方法,形如:
function MyInformation(){
this.xxx=aaa;
this.yyy=bbb;
....
}
MyInformation.prototype.show=function(){
alert(this.info);
}
这种方式,我给出的这两种方式都是js最标准的类的方法声明,你再找找相关的教程或例子。
下面是我的个人网站,里面有大量js教程,希望对你有所帮助:
简单来说你看到的this就是指对象,比如我一个函数式这样的
obj.onclick=function()
{
alert(this.innerHTML)
}
this就是指obj,
在你的函数里面刚刚定义了this.length=0;所以第二个this指向是this
第三个函数你根本没有定义size的length,所以也是0