易截截图软件、单文件、免安装、纯绿色、仅160KB

[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的实例就会间接指向这个原型对


相关文档:

Javascript 之prototype属性

在js中,每个对象都有一个prototype属性:返回对象类型原型的引用。很拗口!习语“依葫芦画瓢”,这里的葫芦就是原型,那么“瓢.prototype” 返回的就是葫芦,或者“瓢.prototype= new 葫芦()”。
prototype的用途:
继承
有一个对象--子类:
function 子类() {
this.lastname = ......

JavaScript prototype 属性

定义与用法
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:
在下 ......

JavaScript判断浏览器类型及版本

      你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器。
       几天前,浏览器家族有刚诞生了一位小王子,就是Google推出的Chrome浏览器。由于Chrome出生名门,尽管他还是个小家伙,没有人敢小 ......

Web的结构、行为和表现及JavaScript 语言特性

标准的Web 组成应该包括3 部分:结构、行为和表现。这种思想最早在微软设计的
DHTML模型中初步提出来,但是很不规范,也不成系统。后来,W3C(World Wide Web
Consortium,万维网联盟)组织规范了Web 的构成。根据W3C 制订的标准,Web 标准不
是某一个标准,而是一系列标准的集合。完整的Web 应该由以下3 部分组成:
结 ......

[JavaScript]类之一

一个简单的javascript类定义例子
     涵盖了javascript公有成员定义、私有成员定义、特权方法定义的简单示例
Java代码
<script>     
    //定义一个javascript类   
    function JsClass(privateParam/*&n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号