[JavaScript]类之三
详解javascript类继承机制的原理
目前 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对象。
到这里我们知道如何在js中定义一个类了,接下来我们展示如何写一个cat
js 代码
var a1 = { name:'pipi' ,age:10,height:0 }
//或者
var a1 = new Object();
a1.name='pipi';
a1.age = 10;
a1.height = 0;
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了。
那么prototype起到了一个什么样的作用呢?
prototype就好比一个指针,它指向一个object,这个object就称为子类对象的原型。当cat的对象被创建的时候,由于cat的构造函数拥有prototype属性,那么cat的实例就会间接指向这个原型对
相关文档:
在js中,每个对象都有一个prototype属性:返回对象类型原型的引用。很拗口!习语“依葫芦画瓢”,这里的葫芦就是原型,那么“瓢.prototype” 返回的就是葫芦,或者“瓢.prototype= new 葫芦()”。
prototype的用途:
继承
有一个对象--子类:
function 子类() {
this.lastname = ......
定义与用法
The prototype property allows you to add properties and methods to an
object.
prototype属性允许你向一个对象添加属性和方法
Syntax
语法
object.prototype.name=value
Example 1
实例
In this example we will show how to use the prototype property to add a
property to an object:
在下 ......
你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器。
几天前,浏览器家族有刚诞生了一位小王子,就是Google推出的Chrome浏览器。由于Chrome出生名门,尽管他还是个小家伙,没有人敢小 ......
标准的Web 组成应该包括3 部分:结构、行为和表现。这种思想最早在微软设计的
DHTML模型中初步提出来,但是很不规范,也不成系统。后来,W3C(World Wide Web
Consortium,万维网联盟)组织规范了Web 的构成。根据W3C 制订的标准,Web 标准不
是某一个标准,而是一系列标准的集合。完整的Web 应该由以下3 部分组成:
结 ......
一个简单的javascript类定义例子
涵盖了javascript公有成员定义、私有成员定义、特权方法定义的简单示例
Java代码
<script>
//定义一个javascript类
function JsClass(privateParam/*&n ......