prototype是javascript中的重中之重。
先用例子来说话
	function f1(a){
		this.a = a;
	}
	function f2(b){
		this.b = b;
	}
	function f3(c){
		this.c = c;
	}
	function f4(d){
		this.d = d;
	}
	f3.prototype = new f4("d");
	f2.prototype = new f3("c");
	f1.prototype = new f2("b");

	var f = new f1("a");
	alert(f.a);
	alert(f.b);
	alert(f.c);
	alert(f.d);

这个例子说明,每个对象都有一个prototype属性,这个属性当然也是对象,所以它也有prototype属性,那么我们自然就能够把它做成一个prototype链。
当访问一个对象的“属性”时,程序会先在方法的属性中找,如果能找到则返回,如果找不到则会到对象的prototype链中去找,直到找到或者prototype属性为空为止。
评论
发表评论

您还没有登录,请登录后发表评论

weiqingfei
搜索本博客
存档
最新评论