it技术指南:www.itedus.com
  • 信息订阅

IT指南

  • TNT五分钟问卷赢IPOD
  • 贝塔斯曼
  • 广告联盟
  • No pay, More gain!
  • 单价15元-网络广告平台
  • 注册阿里妈妈赚广告费
  • 首页
  • 新闻资讯
  • 网页制作
  • 软件使用
  • 操作系统
  • 软件编程
  • 网络编程
  • 图象处理
  • 网站欣赏
  • 数据库
  • 认证考试
  • 站长知识
正在浏览栏目导航:首页 > 网页制作 > Javascript >

javascript实例教程(19) 数组

时间:2007-11-13 12:21:07   来源:it技术网  作者:it技术网

使用javascript数组

在javascript 1.0中构造器只存在Date对象和用户定义的对象。你可能期望有个数组构造器,但是一直没能实现,直到javascript 1.1的出现,你的期望成为了现实。我们可以如下来定义用户对象:

function blankArray(n) {

for (var i=0; i < n; i++)

this[i] = null;

this.length = n;

}

blankArray函数创建了一个数组,这个数组中有n个空白项。下面再给出使用这个构造器的例子:

var myArray = new blankArray(3);

myArray[0] = "hello";

myArray[1] = "world";

myArray[2] = "!";

如果你对其它编程语言(如C语言)有些经验的话,你就会直到数组的索引是从0开始的而不是从1开始的。因此在上面的例子中数组索引是从0到2的,故这个数组的长度为3。

以下的代码是更为高级的数组构造器。它使用了'arguments'属性来对数组赋值而不只是创建一个空数组元素,这个属性对于所有的函数都是存在的。虽然没有给定任何的参数,传递的数值仍然可以通过arguments数组来进行访问。具体代码如下:

function makeArray() {

for (var i=0; i < arguments.length; i++)

this[i] = arguments[i];

this.length = arguments.length;

}

而构造器的调用可以是这样的:

var myArray = new makeArray("hello", "world", "!");

在javascript 1.1中,创建数组构造器结合了blankArray和makeArray的特定。如下的一个调用:

var myArray = new Array(3); // requires JS 1.1

这个调用创建了一个空白数组(其长度为3)作为上面示范的blankArray构造器。而在Netscape中称为'dense array',因为每一个元素都有一个数值,可以如下来创建:

var myArray = new Array(value1, value2, value3); // JS 1.1

既然你对构造器和对象属性比较熟悉了,我们可以进一步举些例子。如果你是使用javascript 1.1或者更高版本,你可以使用数组构造器。否则你使用makeArray对象更为合适些。 var workPeople = new Array(

new Person("Thomas", 25, "green"),

new Person("Richard", 35, "blue"),

new Person("Harold", 30, "chartreuse")

);

workPeople是一个拥有三个Person对象的数组。每一个Person都有name(名字)、age(年龄)、colour(肤色)以及birthYear(出生年份)属性。

以下再给出一个实例来使用我们上面所学到的。这里还要提醒一下,Person代码块和workPeople数组必须包括到相同的SCRIPT标签中或者网页的其它地方。

<SCRIPT language="javascript">

<!-- Hide from older browsers


function whoIsOldest(pArray) {

var pOldest = pArray[0]; // 数组中的第一个Person

for (var i=1; i < pArray.length; i++) // 对每个附加的Person循环

if (pArray[i].isOlder(pOldest)) // 如果它们比较老

pOldest = pArray[i]; // 将它们设置为最老

return pOldest;

}

var senior = whoIsOldest(workPeople);

document.write("The oldest person is " + senior.name + "<br>" + senior);


// Stop hiding -->

</SCRIPT>

上面例子的输出为:

The oldest person is Richard

Richard was born in 1963

and is 35 years old.

从whoIsOldest函数返回的数值是一个Person对象,它带有对象所有的属性和方法。这是为什么可以引用名字属性和变量printPerson()方法(称为senior)的原因。

WhoIsOldest函数的另外一些特性为:

a.处理任何的People的数组。

b.处理任何对象类型的数组,这个数组有一个isOlder()方法。

如果不是使用javascript,换成其它类型的编程语言,你就不得不指定函数输入是一个People的数组,而在javascript就不用了。这正是javascript的一个优点。


 

关键字:
关闭此页
上一篇:javascript实例教程(17) 使用javascript的数学函数
下一篇:javascript实例教程(20) 使用HoTMetal(3)

相关文章

     ·javascript实例教程(17) 使用javascript的数学函数  (2007-11-13 12:21:07)
     ·javascript实例教程(15) JS代替CGI  (2007-11-13 12:21:05)
     ·javascript实例教程(16) 日期函数  (2007-11-13 12:21:05)
     ·javascript实例教程(13) 鼠标移过时报警  (2007-11-13 12:21:01)
     ·javascript实例教程(14) 鼠标触发窗口  (2007-11-13 12:21:01)
     ·javascript实例教程(11) 创建后退按钮  (2007-11-13 12:20:57)
     ·javascript实例教程(12) 隐藏script代码  (2007-11-13 12:20:57)
     ·javascript实例教程(10) 随机显示图片  (2007-11-13 12:20:54)
     ·javascript无限分类算法的实现  (2007-11-13 12:20:49)
     ·MD5加密的javascript实现  (2007-11-13 12:20:43)
本栏目推荐

排行榜

  • 1十一、JSP及语法概要
  • 2十、会话状态
  • 3九、处理Cookie
  • 4javascript实例教程(8) 利用j
  • 5javascript实例教程(7) 利用j
  • 6javascript实例教程(6) 在一个表单
  • 7javascript实例教程(5) 利用j
  • 8javascript实例教程(3) 创建折叠式

最新信息

  • 十一、JSP及语法概要
  • 十、会话状态
  • 九、处理Cookie
  • javascript实例教程(8) 利用ja
  • javascript实例教程(7) 利用ja
  • javascript实例教程(6) 在一个表单
  • javascript实例教程(5) 利用ja
  • javascript实例教程(3) 创建折叠式
关于站点 - 广告服务 - 联系我们 - 返回顶部
Copyright © 2007 www.itedus.com . All rights reserved.QQ群:8814225
如果碰到相关技术问题可以联系我们,原创相关问题请与站长及时联系.鄂ICP备07005792号