最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Javascript中数组 [ ]、{ } 、Array()
时间:2012-05-06 编辑:简简单单 来源:一聚教程网
一、JS中没有除数字外的字符索引数组
当然!可以这样做,当结果不是你所想的
最常用的是array()
Array 对象用于在单个的变量中存储多个值。
创建 Array 对象的语法:
代码如下 | 复制代码 |
new Array(); new Array(size); new Array(element0, element1, ..., elementn); |
如:
代码如下 | 复制代码 |
var p = new Array(); p[0] = '第一个值'; p[1] = '第二个值'; p['h'] = '可以访问这个值'; |
以上几乎可PHP一样,但是p.length = 2;
要想循环输出Array中的值,只能
for(var key in p){
}
这样有个严重问题
Array中有个prototype属性,可以扩展Array对象的方法
如果这样
代码如下 | 复制代码 |
Array.prototype.next = function(){}; |
所有Array对象都会多一个索引值
next:function(){};
上面循环也会多打印一个你意想不到的值
那么,Array的规范是接近C语言中的array,
二、[ ]也就是new Array()
它可以方便的创建多维数组
三、{ }是new Object()
其实这个最接近PHP中的数组
可以说PHP中数组是集Hash Array于一体的
四、判断是否是array
也许你会想到typeof
但是不管是以上谁创建的对象
应用typeof arr= ‘object’
应该这样判断
代码如下 | 复制代码 |
return (arr.constructor==Array); 但是如果你之前应用 或 |
还是不可完全相信
五、arguments 不是数组
arguments是当前执行的 function 对象返回一个arguments 对象。
function.arguments
function 参数是当前执行函数的名称,可以省略。
arguments包含一些附属属性arguments.callee、arguments.length
用两段代码描述它们
代码如下 | 复制代码 |
function param(){ var s=''; for(var i=0,l=arguments.length;i s += 'param'+ i+' : '+ arguments[i] + 'n'; } alert(s); } param(1,2,3); function factorial(n){ if (n <= 0) return 1; else return n * arguments.callee(n - 1)//等同于factorial(n-1) } alert(factorial(3)); |
看完上面你会想这不是数组嘛!不是
用for(var k in arguments)的方式遍历不出arguments[[0|1|2|...|n]
但有些地方需要数组这个特性,我必须把arguments转化为array
prototype.js的做法
代码如下 | 复制代码 |
var length = iterable.length, results = new Array(length); while (length--) results[length] = iterable[length]; return results; |
上面总结了这么多关于javascript数组的一些用法,以及数组中 [ ]、{ } 、Array() 的各种用法。
-
上一个: nodejs中getJSON 用法
相关文章
- JavaScript 批量创建数组的方法 07-14
- JavaScript中数组的各种操作的总结 03-29
- JavaScript关于数组的那些事 10-25
- JavaScript 数组中的 indexOf 方法 10-25
- javascript数组与列表教程 10-18
- Javascript数组去重项的例子 09-21