六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 27|回复: 0

javascript 精粹第四篇(数组)

[复制链接]

升级  30%

27

主题

27

主题

27

主题

秀才

Rank: 2

积分
95
 楼主| 发表于 2013-1-29 08:35:57 | 显示全部楼层 |阅读模式

下面代码要用到之前博客中的代码,在执行的时候请将其中的代码引入,否则报错。

/******************************************************************************* * 数组 *******************************************************************************/console.log('************************************************************************长度');//每个数组都有一个length属性。并且没有上界,如果你用大于或等于当前length的数字做为下标累存储一个元素,//那么length值会被增大以容纳新元素,不会发生数组下标越界错误。var myArray = [];console.log(myArray.length);myArray[10000] = true;console.log(myArray.length);//你可以直接设置length的值。设置更大的length不会给数组分配更多的空间。//而把length设小将导致所有下标大于等于新length的属性被删除:var numbers = ['zero','one','two','three','four'];console.log('设置length长度之前numbers[4]为:',numbers[4]);numbers.length = 3;console.log('设置length长度之后numbers[4]为:',numbers[4]);console.log('************************************************************************删除');//由于数组也是对象,所以delete运算符可以用来从数组中移除元素,但移除后会留下一个空洞。//delete numbers[1];//var str = '';//for(var i = 0;i<numbers.length;i++){//str += numbers+' ';//};//console.log(str);//可以这个splice方法。//numbers.splice(start, deletecount);//start 表示从哪个下标开始删除,deletecount表示删除几个console.log('************************************************************************数组和对象容易混淆的地方');//js对于数组和对象的区别是混乱的,typeof运算符判断数组的类型是‘object’,这没有任何意义。//我们想要判断数组还是对象只能自己定义一个函数来弥补这个缺陷://var is_array = function(value){//return value && typeof value === 'object' && value.constructor === Array;//};//遗憾的是,它在识别从窗口(window)或帧(frame)里构造的数组时会失败,有一个更好的办法去判断一个对象是否为数组:var is_array = function(value){return Object.prototype.toString.apply(value) === '[object Array]';};var arr_test = [1,3,4];var obj_test = {};console.log('数组:',is_array(arr_test));console.log('对象:',is_array(obj_test));//console.log(arr_test.length);//数组也是对象,所以可以给数组增加属性,但增加的属性不会影响数组的length的值。//arr_test.total = 8;//console.log(arr_test.length);

未完...见javascript 精粹第五篇(方法)
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表