网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 网管学堂 > 网页设计 > Javascript > JScript 对象  

JScript 对象

2006-04-18  作者:BitsCN.com整理  来源:中国网管联盟  点评 投稿 收藏

  Jscript 对象是属性和方法的集合。一个方法就是一个函数,是对象的成员。属性是一个值或一组值(以数组或对象的形式),是对象的成员。Jscript 支持四种类型的对象:内部对象、生成的对象、宿主给出的对象(如 Internet 浏览器中的 window 和 document)以及 ActiveX 对象(外部组件)。

网管联盟bitsCN_com

  作为数组的对象
  在 Jscript 中,对象和数组几乎是以相同的方式处理的。对象和数组均可以被赋予任意值,实际上数组只是一种特殊的对象。数组和对象的区别在于数组有一个“奇妙的” length 属性,而对象没有。这意味着可以给数组的一个元素赋予比其他元素更大的值。例如,myArray[100] = "hello",然后 length 属性将自动地被更新为 101(新长度)。同样,如果修改数组的 length 属性,将删除不再是数组部分的元素。

网管联盟bitsCN_com

  Jscript 中所有的对象均支持“expando”属性或那些可以在运行时动态添加和删除的属性。这些属性可以有包含数字的任意名称。如果属性的名称是简单的标识符<<参考标识符规则>>,可以在对象名称的后面加句点,例如: 网管网www.bitscn.com

  var myObj = new Object();

网管联盟bitsCN_com

  // 添加两个 expando 属性,name 和 age
  myObj.name = "Fred";
  myObj.age = 42;
  如果属性名称不是一个简单的标识符,或者在写脚本的时候不知道,可以在方括号中使用任意表达式来索引属性。在 Jscript 中所有 expando 属性的名称在被添加到对象之前被转换为字符串。

网管联盟bitsCN_com

  var myObj = new Object();

网管u家u.bitscn@com

  // 添加两个无法写在 object.property 语
  // 法中的 expando 属性。
  // 第一个属性包含无效字符(空格),
  // 所以必须写在方括号里。
  myObj["not a valid identifier"] = "This is the property value";

网管下载dl.bitscn.com

  // 第二个 expando 名称是一个数字,
  // 所以也必须写在方括号里。
  myObj[100] = "100";
  传统的作法是赋给数组元素以 0 开始的数字索引。这些数组元素与 length 属性相交互。然而,由于所有的数组也是对象,也支持 expando 属性。请注意,虽然如此,expando 属性并不以任何方式与 length 属性相交互。例如: 网管联盟bitsCN@com

  // 三个元素的数组
  var myArray = new Array(3); 网管bitscn_com

  // 添加数据
  myArray[0] = "Hello";
  myArray[1] = 42;
  myArray[2] = new Date(2000, 1, 1);

中国网管论坛bbs.bitsCN.com

  // 显示数组的长度 3
  window.alert(myArray.length);

网管下载dl.bitscn.com

  // 添加某些 expando 属性
  myArray.expando = "JScript!";
  myArray["another Expando"] = "Windows";

网管bitscn_com

  // 仍然显示 3,因为两个 expando 属性
  // 并不影响长度。
  window.alert(myArray.length);
  虽然 Jscript 并不直接支持多维数组,但是可以在数组元素中存储任意种类的数据(包含其他数组)。所以通过在另一个数组的元素里存储其他数组可以得到多维数组的特性。例如,下面的代码为最大为 5 的数字建立了乘法表: 网管联盟bitsCN@com

  // 若是更大的表请改变本数
  var iMaxNum = 5;
  // 循环计数
  var i, j; 网管u家u.bitscn@com

  // 新数组。由于数组从 0 开始计数,
  // 而不是 1,所以数组大小为 iMaxNum + 1。
  var MultiplicationTable = new Array(iMaxNum + 1);

网管u家u.bitsCN.com

  // 为每个主要的数做循环(表中的每一行)
  for (i = 1; i <= iMaxNum; i++)
  {
   // 生成表中的列
   MultiplicationTable = new Array(iMaxNum + 1); 网管联盟bitsCN@com

   // 将乘法的结果存在行中
   for (j = 1; j <= iMaxNum; j++)
   {
   MultiplicationTable[j] = i * j;
   }
  }

中国网管论坛bbs.bitsCN.com

  window.alert(MultiplicationTable[3][4]); // 显示 12
  window.alert(MultiplicationTable[5][2]); // 显示 10
  window.alert(MultiplicationTable[1][4]); // 显示 4 网管bitscn_com


TAGs   对象   属性   expando   new   iMaxNum   myArray   Jscript      
 上一篇:JScript创建自己的对象   下一篇:JScript 函数
JScript 对象 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: