快速业务通道

JavaScript类

作者 佚名技术 来源 网页制作 浏览 发布时间 2012-03-07
造函数

  一个类在初始化的时候其实也是一个函数的执行过程,这个函数就是构造函数,我们看一下下边的代码:
  
  function WuYouUser()
  {
    this.Name = "泣红亭"; //默认定义为泣红亭
    alert(this.Name);
  }
  var Wo = new WuYouUser();//可以看到出现一个窗口显示泣红亭三个字
  
  可以看出类的定义不仅仅是定义了它的属性与方法,还同时可以加入一些代码,而这些代码就是该类的构造函数的代码,在实例声明过程中被执行!
  其实说起来,类的属性与类的方法都是在构造函数里执行定义的,看下边的代码:
  
  function WuYouUser()
  {
    this.Name = "泣红亭";
    return;
    this.Sex = "男";
  }
  var Wo = new WuYouUser();
  document.write(Wo.Name); //泣红亭
  document.write(Wo.Sex); //undefined,即未定义
  
  看得出什么?Sex属性是在return;之后的,而WuYouUser类的构造函数遇到return即停止运行,换句话说this.Sex = "男";这一行是没有被执行,即Sex属性根本没有被定义!
  
  构造函数可以有参数,参数值在声明实例的时候被传入:
  function WuYouUser(Name)
  {
    this.Name = Name;
  }
  var Wo = new WuYouUser("泣红亭");
  document.write(Wo.Name); //泣红亭
  
  构造函数不需要返回值,但如果你设置了返回值,可以把它当成一个函数来使用。
  function Sum(a, b)
  {
    this.a = a;
    this.b = b;
    return this.a + this.b;
  }
  document.write(Sum(12, 23)); //输出的是12与23的和35
  var Obj = new Sum(12,23);
  document.write(Obj.a) // 12
  document.write(Obj.b) // 23
  
  感觉挺奇妙,对吧?我写这文章写着写着也觉得挺奇妙的,呵呵!
  
  但强烈建议不要把一个类当成一个函数来使用!如果你需要的是一个函数,请直接写成函数而不要写成类,以免搞混了。

继承

  继承这个词在面向对象的编程里是非常重要的,虽然JavaScript并不是真正面向对象的语言,而是跟VB一样是基于对象的语言,它同样提供了继承机制。
  
  文章开头时谈到了男人与女人,这也同样是两个不同的类,但却具有相同的一些属性以及方法,而这些相同的特性是来自“人”这个类的,换句话说男人与女人继承了“人&rdq

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号