详解javascript类继承机制的原理
2010-08-27 11:53
204 查看
本文着重解析javascript类继承机制,让你从底层了解javascript是
怎样实现“继承”这一概念的。
jimichan在javaeye博客发布,转载请说明。
目前
javascript的实现继承方式并不是通过“extend”关键字来实现的,
而是通过
constructor
function和prototype属性来实现继承。首先我们创建一个animal
类
js 代码
var
animal =
function
(){
//这就是constructor function 了
this
.name = 'pipi';
this
.age = 10;
this
.height = 0;
}
//建立一个动物的实例
var
a1 =
new
animal ();
构造函数与其他普通函数区别在于,1.构造函数里有
this关键字,2.调用构造函数是使用的new关键字。通过new运算符调用构造函数
animal
后,系统就会返回一个对象,这个对象就相当于
js 代码
var
a1 = { name:'pipi' ,age:10,height:0 }
//或者
var
a1 =
new
Object();
a1.name='pipi';
a1.age = 10;
a1.height = 0;
等同这样的方式来产生js对象。
到这里我们知道如何在js中定义一个类了,接下来我们展示如何写一个cat
js 代码
var
cat =
function
(){
this
.play =
function
(){
alert('cat play')
}
}
cat .prototype = new
animal ();
//prototype 属性指向一个对象
var c1 = new cat();
到这里,cat就继承了
animal 对象,类cat的一个实例对象c1拥有属性name,age,height,和方法play了。
转自:http://jimichan.javaeye.com/blog/119815
怎样实现“继承”这一概念的。
jimichan在javaeye博客发布,转载请说明。
目前
javascript的实现继承方式并不是通过“extend”关键字来实现的,
而是通过
constructor
function和prototype属性来实现继承。首先我们创建一个animal
类
js 代码
var
animal =
function
(){
//这就是constructor function 了
this
.name = 'pipi';
this
.age = 10;
this
.height = 0;
}
//建立一个动物的实例
var
a1 =
new
animal ();
构造函数与其他普通函数区别在于,1.构造函数里有
this关键字,2.调用构造函数是使用的new关键字。通过new运算符调用构造函数
animal
后,系统就会返回一个对象,这个对象就相当于
js 代码
var
a1 = { name:'pipi' ,age:10,height:0 }
//或者
var
a1 =
new
Object();
a1.name='pipi';
a1.age = 10;
a1.height = 0;
等同这样的方式来产生js对象。
到这里我们知道如何在js中定义一个类了,接下来我们展示如何写一个cat
js 代码
var
cat =
function
(){
this
.play =
function
(){
alert('cat play')
}
}
cat .prototype = new
animal ();
//prototype 属性指向一个对象
var c1 = new cat();
到这里,cat就继承了
animal 对象,类cat的一个实例对象c1拥有属性name,age,height,和方法play了。
转自:http://jimichan.javaeye.com/blog/119815
相关文章推荐
- [JavaScript]类之三---详解javascript类继承机制的原理
- 详解javascript类继承机制的原理
- 详解javascript类继承机制的原理
- 详解javascript类继承机制的原理
- 详解javascript类继承机制的原理
- javascript类继承机制的原理分析
- javascript类继承机制原理
- javascript类继承机制的原理分析
- 推荐:Redis Sentinel实现的机制与原理详解
- Linux进程通信机制原理详解及实现步骤
- js继承机制详解
- http缓存机制和原理详解
- 基于JavaScript实现继承机制之原型链(prototype chaining)的详解
- Redis Sentinel实现的机制与原理详解
- 图文详解 Android Binder跨进程通信机制 原理
- 多继承原理详解及实例分析
- 详解 QT 源码之 Qt 事件机制原理
- js原型继承机制实例详解
- 负载均衡原理与实践详解 第六篇 健康检查机制详解(上)
- 负载均衡原理与实践详解 第六篇 健康检查机制详解