js之prototype

,函数也是对象,所有声明的函数都具有length,call,apply,constructor,以及prototype五个property,length返回的是参数的个数。prototype则是对象。另外三个都是方法。constructor则返回构造函数。

说说prototype。prototype是可以实现继承的,但是函数自带的方法则是不可以的

var Foo=function(){}
Foo.prototype.a=function(){alert(1)}
var test=new foo()
test.a()//1

所以js的继承一般是用prototype实现.

实例的实现是实例中都含有一个指向原型的指针。

实例可以重写属性,不过该属性只对该实例起作用,不会重写原型的属性,也就是说会屏蔽原型中的同名属性,浏览器由下而上搜索,若该属性在实例中的确存在就不会再向原型中搜索。

posted @ 2015-05-20 12:55  夏棋  阅读(109)  评论(0编辑  收藏  举报