最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
javascrpt Array 类型转换介绍
时间:2012-09-03 编辑:简简单单 来源:一聚教程网
创建 Array 对象的语法:
new Array();
new Array(size);
new Array(element0, element1, ..., elementn);
参数
参数 size 是期望的数组元素个数。返回的数组,length 字段将被设为 size 的值。
参数 element ..., elementn 是参数列表。当使用这些参数来调用构造函数 Array() 时,新创建的数组的元素就会被初始化为这些值。它的 length 字段也会被设置为参数的个数。
返回值
返回新创建并被初始化了的数组。
如果调用构造函数 Array() 时没有使用参数,那么返回的数组为空,length 字段为 0。
当调用构造函数时只传递给它一个数字参数,该构造函数将返回具有指定个数、元素为 undefined 的数组。
当其他参数调用 Array() 时,该构造函数将用参数指定的值初始化数组。
实例
、数组的创建
代码如下 | 复制代码 |
var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值 |
数组类型转换
代码永远都是那么好玩,而 Trick 不断。那天张克军在 twitter 上说还有比 [].slice.call() 更短的 Array 转换么?当时我在分享会,想试试,但身边没有电脑。今天打开 Firebug 的那一瞬间,突然记起这事。马上试了一下之前想的一个方案。可以!代码如下:
function a(){ a('b');
代码如下
复制代码
var arr = Array(arguments);
alert(arr instanceof Array);
}
在看 Baidu Tangram 的时候,最常看到的是 String('a string'),不像其实地方的用法,是使用与一个空字符串字面量相加来强制类型转换。当时,就想到了如果 Array() 可以实现,那不是更爽?当然。而这是为什么呢?可以看一下这个打印出来的日志:
代码如下 | 复制代码 |
console.log(Array,[],Array(),new Array()) console.log(Array('sofish'), ['sofish'], new Array('sofish')) |
有趣吧。其实像 new Array() 可以省去 new,变成 Array(),都是创建一个空数组实例。
至于用那种方法好,我也遇到的情况并不多,不能说明什么状态。类型的转换我们需要常用到的,还需要去做更深层的研究。而像第一种做法,至少可是很多现在流行的框架使用的方法。一般情况下都用在于把 function 的 arguments 对象转换为数组来让我们可以对其做更多的事。如果你想使用的话,保险的用法还是用第一种
-
上一个: JS 去空格 trim() 实战性能优化
相关文章
- java怎么样将基本类型与字节流转化?Java基本类型转换成字节流 02-16
- Swift开发之 as、as!、as?三种类型转换操作符使用详解 03-20
- C语言中 整数, 浮点, 逻辑, 类型转换和条件运算 总结教程 05-23
- python转换long类型转换int类型 04-01
- IIS 5.1 上运行不支持转换Decimal类型小数点解决方法 01-10
- 为什么会有类型转换? 04-28