实例代码:
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();
我们先看一下不包含函数原型的以上实例所包含的原型链的关系图:
下面是加入了函数原型后的原型链的关系图 。
写在最后
总结了原型和原型链的知识后 , 感觉对语言的理解更加深刻了 , 也为后面理解对象的创建和继承打下了基础 。其实理解原型链 , 对于中一些预定义类型的行为和实现就很好理解了 。
- 原型和原型链理解
- 【学习笔记60】JavaScript原型链的理解
- 如何快速理解马尔科夫链蒙特卡洛法?
- 1+X Web前端开发初级 例题 JavaScript轮播图
- 3 SQL笔记——MySQL数据类型(超详细且易理解)
- 机器学习之数据分布的含义理解
- 深入详解Redis持久化操作
- 【JavaScript】讲解JavaScript的基础知识并且配有案例讲解
- 视频行为理解之二
- 使用JavaScript建立一个语法高亮输入框