Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14497855
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 21:33:49

下载本文示例代码
  友情推荐:AJAX专区   理解类的实现机制  在JavaScript中可以使用function关键字来定义一个“类”,如何为类添加成员。在函数内通过this指针引用的变量或者方法都会成为类的成员,例如: function class1(){  var s="abc";  this.p1=s;  this.method1=function(){   alert("this is a test method");  }}var obj1=new class1();  通过new class1()获得对象obj1,对象obj1便自动获得了属性p1和方法method1。  在JavaScript中,function本身的定义就是类的构造函数,结合前面介绍过的对象的性质以及new操作符的用法,下面介绍使用new创建对象的过程。  (1)当解释器遇到new操作符时便创建一个空对象;  (2)开始运行class1这个函数,并将其中的this指针都指向这个新建的对象;  (3)因为当给对象不存在的属性赋值时,解释器就会为对象创建该属性,例如在class1中,当执行到this.p1=s这条语句时,就会添加一个属性p1,并把变量s的值赋给它,这样函数执行就是初始化这个对象的过程,即实现构造函数的作用;  (4)当函数执行完后,new操作符就返回初始化后的对象。  通过这整个过程,JavaScript中就实现了面向对象的基本机制。由此可见,在JavaScript中,function的定义实际上就是实现一个对象的构造器,是通过函数来完成的。这种方式的缺点是:  ·将所有的初始化语句、成员定义都放到一起,代码逻辑不够清晰,不易实现复杂的功能。  ·每创建一个类的实例,都要执行一次构造函数。构造函数中定义的属性和方法总被重复的创建,例如: this.method1=function(){  alert("this is a test method"); }  这里的method1每创建一个class1的实例,都会被创建一次,造成了内存的浪费。下一节介绍另一种类定义的机制:prototype对象,可以解决构造函数中定义类成员带来的缺点。共3页。 1 2 3 :   友情推荐:AJAX专区   理解类的实现机制  在JavaScript中可以使用function关键字来定义一个“类”,如何为类添加成员。在函数内通过this指针引用的变量或者方法都会成为类的成员,例如: function class1(){  var s="abc";  this.p1=s;  this.method1=function(){   alert("this is a test method");  }}var obj1=new class1();  通过new class1()获得对象obj1,对象obj1便自动获得了属性p1和方法method1。  在JavaScript中,function本身的定义就是类的构造函数,结合前面介绍过的对象的性质以及new操作符的用法,下面介绍使用new创建对象的过程。  (1)当解释器遇到new操作符时便创建一个空对象;  (2)开始运行class1这个函数,并将其中的this指针都指向这个新建的对象;  (3)因为当给对象不存在的属性赋值时,解释器就会为对象创建该属性,例如在class1中,当执行到this.p1=s这条语句时,就会添加一个属性p1,并把变量s的值赋给它,这样函数执行就是初始化这个对象的过程,即实现构造函数的作用;  (4)当函数执行完后,new操作符就返回初始化后的对象。  通过这整个过程,JavaScript中就实现了面向对象的基本机制。由此可见,在JavaScript中,function的定义实际上就是实现一个对象的构造器,是通过函数来完成的。这种方式的缺点是:  ·将所有的初始化语句、成员定义都放到一起,代码逻辑不够清晰,不易实现复杂的功能。  ·每创建一个类的实例,都要执行一次构造函数。构造函数中定义的属性和方法总被重复的创建,例如: this.method1=function(){  alert("this is a test method"); }  这里的method1每创建一个class1的实例,都会被创建一次,造成了内存的浪费。下一节介绍另一种类定义的机制:prototype对象,可以解决构造函数中定义类成员带来的缺点。共3页。 1 2 3 : 下载本文示例代码


AJAX基础:JavaScript中类的实现AJAX基础:JavaScript中类的实现AJAX基础:JavaScript中类的实现AJAX基础:JavaScript中类的实现AJAX基础:JavaScript中类的实现AJAX基础:JavaScript中类的实现AJAX基础:JavaScript中类的实现AJAX基础:JavaScript中类的实现AJAX基础:JavaScript中类的实现AJAX基础:JavaScript中类的实现AJAX基础:JavaScript中类的实现AJAX基础:JavaScript中类的实现AJAX基础:JavaScript中类的实现AJAX基础:JavaScript中类的实现AJAX基础:JavaScript中类的实现
阅读(161) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~