今天是:
首 页信息查询网站SEO查询工具CSS编辑器建站素材
网海拾贝,电脑资讯,电脑快报,it资讯,网站建设资讯,教程基地
软件新闻
操作系统
Vista Winxp Win2003 Linux Windows综合
工具软件
系统工具 媒体工具 网络工具 杀毒软件 聊天
软件开发
C教程 C++ Java C# ASP.NET JSP PHP
数据库
Oracle MySQL DB2 SQL Server Sybase
安全
网络 病毒
办公应用
Word Excel Powerpoint Outlook 其他
平面设计
Photoshop Fireworks Coreldraw Flash Illustrator 3dsmax
网站运营
网站运营 网站优化 网站策划 策划书下载 建站心得 站长故事 网站盈利 网页制作 网页特效 建站素材 免费资源 QQ频道
  当前位置:首 页 >> 网页制作 >> Javascript/Ajax >> JavaScript类的静态成员及其修改对象实例的数据

JavaScript类的静态成员及其修改对象实例的数据

  发布于2008-08-25 17:25 来源:网站建设学院

JavaScript类的静态成员及其修改对象实例的数据

JavaScript静态成员的定义,只需要在类的构造函数之外,使用类的名称(即:构造函数的函数名称)来定义,如:

function MyClass(){}

MyClass.staticMethod = staticMethod;

function staticMethod(){}

JavaScript的静态成员变量的定义类似,如:

MyClass.STATIC_VAR = "SHIRDRN";

下面通过编写一个实例来说明,如下所示:

<script language="JavaScript" type="text/javascript">

function MyRect(w,h,id){
   // 成员变量
   this.id = id
   this.rWidth = w;
   this.rHeight = h;
   // 成员方法
   this.setId = setId;
   this.setWidth = setWidth;
   this.setHeight = setHeight;
   this.newMyRect = newMyRect; // 获取一个MyRect对象实例的方法
   this.getArea = getArea;
   this.getPerimeter = getPerimeter;
}
MyRect.DEVELOP_OWNER = "SHIRDRN"; // 静态成员常量
MyRect.VERSION = "V 1.25";
MyRect.getVersion = getVersion; // 静态方法

function getVersion(){ // 静态方法的实现,获取版本号
   return MyRect.VERSION;
}

function newMyRect(){ // 成员方法的实现,返回一个MyRect类的对象实例,可以通过修改默认值进行设置
   return new MyRect("",0,0);
}
function setId(id){
   this.id = id;
}
function setWidth(w){
   this.rWidth = w;
}
function setHeight(h){
   this.rHeight = h;
}

function getArea(){
   var area = this.rWidth * this.rHeight;
   return area;
}
function getPerimeter(){
   var perimeter = 2*this.rWidth + 2*this.rHeight;
   return perimeter;
}

</script>

访问静态成员变量的数据和调用静态成员方法,直接使用类名访问,如下所示:

   alert(MyRect.getVersion()); // 调用静态方法
   alert(MyRect.VERSION);
   alert(MyRect.DEVELOP_OWNER);

静态成员变量(常量),不能对其值进行修改。但是,可以通过非静态的成员方法来修改对象实例的数据如下所示:

    var myRectInstance = new MyRect("QQ10000",2008,800);
    alert("Original value of id : " + myRectInstance.id);
    alert("Original value of rWidth : " + myRectInstance.rWidth);
    alert("Original value of rHeight : " + myRectInstance.rHeight);
    myRectInstance.id = "QQ187071722"; // 直接通过访问成员变量进行修改
    myRectInstance.rWidth = 1983;
    myRectInstance.rHeight = 119;
    alert("After modified,id : " + myRectInstance.id);
    alert("After modified,rWidth : " +myRectInstance.rWidth);
    alert("After modified,rHeight : " +myRectInstance.rHeight);

当然,可以使用我们定义的成员方法来修改,如下:

myRectInstance.setId("QQ187071722");
myRectInstance.setWidth(1983);
myRectInstance.setHeight(119);

与上面中间部分的代码功能是一样的。这样使用所谓的存取器(Setter和Getter)是不必要的,直接修改成员变量即可。

再看一下,我们定义了一个newRect()方法,它返回一个默认的对象实例:

function newMyRect(){ // 成员方法的实现,返回一个MyRect类的对象实例,可以通过修改默认值进行设置
   return new MyRect("",0,0);
}

也可以使用上面的修改方式对其成员变量的数据进行设置。

JavaScript类的静态成员及其修改对象实例的数据

 


中查找“JavaScript类的静态成员及其修改对象实例的数据”更多相关内容

中查找“JavaScript类的静态成员及其修改对象实例的数据”更多相关内容



上一篇:常用的JavaScript验证正则表达式
下一篇:javascript切换页面样式
最近更新 赞助商
·浏览器对Cookie的限制11-10
·JavaScript中的排序函数sort10-28
·初学Javascript的总结10-24
·如何禁止被Iframe?10-16
·Javascript页面宽度高度09-09
·怎样从 Javascript 传递一个变量到 PHP09-09
·Javascript刷新页的方法汇总09-09
·Javascript脚本:Location对象09-05
·js文件封装javascript在html中获取url参数09-05
·Javascript引擎性能比较: Google Chrome..09-05
·javascript定义类和实例化类09-05

共有评论 0 条 网友评分 0分 查看所有评论


发表评论→ 学而不思则罔,思而不学则殆,请大胆发表你的见解。

输验证码:

您对此篇文章的评分:1分 2分 3分 4分 5分

  • 站内搜索
关键词

搜索方式

搜索范围

精确匹配
Baidu
网站首页 - 关于本站 - 网站地图 - 广告合作 - 站点声明 - RSS订阅 - 联系我们
Copyright © 2005 网海拾贝.[新ICP备05003216号]. All Rights Reserved .