JS学习笔记之数组(一)

先来看下定义数组的常见方式:

var aa=[];//没有元素的数组

var bb=[10,20,30,40,50];//有五个元素的数组

var cc=new Array(10);//创建有10个元素的数组,里面没有内容

 

JS中的数组和其他语言比如C/java有所不同,JS中的数组元素可以是任意类型的值,可以是函数

a=["aa",{ao:"ao",bo:"bo"},false,undefined,function add(a,b){return a+b;}];//不会报错

 

看一下我们省略数组直接量中的某个值时数组的情况:

var arr=[10,20,60];//数组长度为3

var arr2=[10,20,,60];//数组长度为4(倒数第二个元素默认赋值为undefined)

var arr2=[10,20,,60,];//数组长度为4,因为数组结尾的逗号可选

 

用new Array()创建数组适用的情况

当我们知道要创建的数组的长度时,可以用new Array(len)先把内存空间预留出来,此时里面的任何元素的数据类型都为undefined

例如

var aa=new Array(10);//先预留出10个存放元素的位置,默认值都为undefined

 

数组内容的读和写:

我们可以直接操作下标来读写数组元素,下标[]里面的内容必须是返回非负整数值的表达式,就像这样:

var arr=[10,11,13,19,0,22];

alert(arr[1+1]);//13
console.log(arr[(function(){
     return 1;
 })()])

 

如果我们试图访问不存在的数组元素,就像这样:

var arr=[10,11,13,19,0,22];
console.log(arr[999]);
console.log(arr[-1]);
console.log(arr[3.1415]);
console.log(arr["str"]);
console.log(arr[false]);
console.log(arr[true])
console.log(arr[undefined]);

 

以上统统返回undefined!就连arr[Boolean]这种语法也不会获取到数组元素,当然还有其他情况。

下标数据为整型字符串的情况:

我们将alert(arr["str"]);中的str改成1试试:

console.log(arr["1"]);

 

发现能获取到正确的元素 11 

 

由此可见,JS在访问数组元素时,如果[]内的数据是整数字符串,会先转化为整数,再进行访问

下标数据为浮点型字符串类型

console.log(arr["2.25"]);

这里字符串中的数据是一个小数,访问数组元素时并没有被转化为整数,结果还是获取不到

下标数据为xx.00时的情况:

再来看一个例子:

var arr=[10,11,13,19,0,22];
console.log(arr[2.0]);//返回13

这种情况就和访问 arr[2] 相同了

 

转载于:https://www.cnblogs.com/toisec/articles/6415323.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值