,函数也是对象,所有声明的函数都具有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实现.
实例的实现是实例中都含有一个指向原型的指针。
实例可以重写属性,不过该属性只对该实例起作用,不会重写原型的属性,也就是说会屏蔽原型中的同名属性,浏览器由下而上搜索,若该属性在实例中的确存在就不会再向原型中搜索。