JavaScript深入理解之原型与原型链( 三 )


实例代码:
function Foo(who) {this.me = who;}Foo.prototype.identify = function() {return "I am " + this.me;};function Bar(who) {Foo.call( this, who );}Bar.prototype = Object.create( Foo.prototype );Bar.prototype.speak = function() {alert( "Hello, " + this.identify() + "." );};var b1 = new Bar( "b1" );var b2 = new Bar( "b2" );b1.speak();b2.speak();
我们先看一下不包含函数原型的以上实例所包含的原型链的关系图:
下面是加入了函数原型后的原型链的关系图 。
写在最后
总结了原型和原型链的知识后 , 感觉对语言的理解更加深刻了 , 也为后面理解对象的创建和继承打下了基础 。其实理解原型链 , 对于中一些预定义类型的行为和实现就很好理解了 。