赛迪网 > IT技术 Java > 技术动态
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

Java应用:编写高级JavaScript应用代码 (1)

发布时间:2008.09.26 11:06     来源:赛迪网    作者:Kaduo

【赛迪网-IT技术报道】1、创建高级对象

使用构造函数来创建对象,构造函数是一个函数,调用它来例示并初始化特殊类型的对象。可以使用 new 关键字来调用一个构造函数。下面给出了使用构造函数的新示例。

  var myObject = new Object(); // 创建没有属性的通用对象。 
  var myBirthday = new Date(1961, 5, 10); // 创建一个 Date 对象。 
  var myCar = new Car(); // 创建一个用户定义的对象,并初始化其属性。

通过构造函数将一个参数作为特定的 this 关键字的值传递给新创建的空对象。然后构造函数负责为新对象执行适应的初始化(创建属性并给出其初始值)。完成后,构造函数返回它所构造的对象的一个参数。

编写构造函数,可以使用 new 运算符结合像 Object()、Date() 和 Function() 这样的预定义的构造函数来创建对象并对其初始化。面向对象的编程其强有力的特征是定义自定义构造函数以创建脚本中使用的自定义对象的能力。创建了自定义的构造函数,这样就可以创建具有已定义属性的对象。下面是自定义函数的示例(注意 this 关键字的使用)。

  function Circle (xPoint, yPoint, radius) { 
  this.x = xPoint; // 圆心的 x 坐标。 
  this.y = yPoint; // 圆心的 y 坐标。 
  this.r = radius; // 圆的半径。 
  }

调用 Circle 构造函数时,给出圆心点的值和圆的半径(所有这些元素是完全定义一个独特的圆对象所必需的)。结束时 Circle 对象包含三个属性。下面是如何例示 Circle 对象。

  var aCircle = new Circle(5, 11, 99);

使用原型来创建对象,在编写构造函数时,可以使用原型对象(它本身是所有构造函数的一个属性)的属性来创建继承属性和共享方法。原型属性和方法将按引用复制给类中的每个对象,因此它们都具有相同的值。可以在一个对象中 更改原型属性的值,新的值将覆盖默认值,但仅在该实例中有效。属于这个类的其他对象不受此更改的影响。下面给出了使用自定义构造函数的示例,Circle(注意 this 关键字的使用)。

  Circle.prototype.pi = Math.PI; 
  function ACirclesArea () { 
  return this.pi * this.r * this.r; // 计算圆面积的公式为 ?r2。 
  } 
  Circle.prototype.area = ACirclesArea; 
     // 计算圆面积的函数现在是 Circle Prototype 对象的一个方法。 
  var a = ACircle.area(); // 此为如何在 Circle 对象上调用面积函数。

使用这个原则,可以给预定义的构造函数(都具有原型对象)定义附加属性。例如,如果想要能够删除字符串的前后空格(与 VBScript 的 Trim 函数类似),就可以给 String 原型对象创建自己的方法。

  // 增加一个名为 trim 的函数作为 
  // String 构造函数的原型对象的一个方法。 
  String.prototype.trim = function() 
  { 
  // 用正则表达式将前后空格 
  // 用空字符串替代。 
  return this.replace(/(^s*)|(s*$)/g, ""); 
  } 
  // 有空格的字符串 
  var s = " leading and trailing spaces "; 
  // 显示 " leading and trailing spaces (35)" 
  window.alert(s + " (" + s.length + ")"); 
  // 删除前后空格 
  s = s.trim(); 
  // 显示"leading and trailing spaces (27)" 
  window.alert(s + " (" + s.length + ")");

1 2 3 下一页>>


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 资料分享:Java开发中该注意的一些东西 (09-25) · Java安全:运用加密技术保护Java源代码 (09-24)
· 网友分享:认识java JVM与c/c++的执行效率 (09-23) · 网友分享:Java开发最容易犯的几种错误 (09-19)
· 网友分享:教你轻松提高Java代码的性能 (09-19) · 专家建议:五种最值得学习的JAVA开发技术 (09-18)
· 实例教程:巧用Java 实现个性MSN聊天功能 (09-18) · Java开发中static/this/super/final用法 (09-18)
· 在java中产生随机数的两种方式过程详解 (09-17) · Java程序员必须要了解的七个开源协议介绍 (09-17)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 电子商务盈利新招:垂直化渠道管理新趋势
· 互联网加速蜕变 运营商进军搅动市场格局
· 08 IT技术风起云涌 专访 ITIL落地难在哪
· 视频加密保护解决方案 文档安全解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统