《JavaScript语言精粹》学习笔记——6.数组
来源:互联网 发布:centos 7 中文语言包 编辑:程序博客网 时间:2024/05/15 05:47
前言
JavaScript中没有数组。JavaScript提供一种拥有一些类数组(array-like)特性的对象。把数组的下标变成字符串,作为对象的属性。
1、数组字面量
一个数组字面量是在一对方括号中包围零个或多个用逗号分隔的值的表达式。数组的第一个值将获得属性名‘0’,第二个值获得属性名‘1’,以此类推。
数组的原型与对象原型的区别,数组原型继承了大量有用的方法。
JavaScript允许数组包含任意混合类型的值。
2、长度
JavaScript数组的length没有上界。length属性的值是这个数组最大整数属性名加1,不一定等于数组里属性的个数。
可以直接设置length的值,设置更大的length,多出来的值会自动设置为undefined,设置更小的length,会将大于等于新length的属性删除。
var myArray = [];myArray.length; // 0myArray[100000] = true;myArray.length; // 100000
3、删除
数组其实是对象,可以使用 delete 运算符移除元素,移除后的位置元素变为 undefined 。
数组的删除方法 splice ,删除元素后,后面的元素自动补齐。对于大型数组效率较低。
4、枚举
数组其实是对象,可以用 for in 遍历数组的所有属性,但 for in 不能保证属性的顺序,因此不推荐使用。
推荐使用 for 来遍历数组,可以按顺序遍历数组的属性。
5、容易混淆的地方
什么时候使用数组?什么时候使用对象?答:当属性名是小而连续的整数时,使用数组。否则,使用对象。
type of 不能识别数组,识别数组的方法:
var is_array = function (value) { return Object.prototype.toString.apply(value) === '[object Array]';}
6、方法
可以给数组的原型 Array.prototype 增加一个方法,对所有数组可用。也可以直接给数组添加一个方法,如果增加的方法名不是一个整数,就不会改变数组的length值。
7、指定初始值
JavaScript 数组通常不会预先设定值,因此 [ ] 得到一个新数组是空的,访问一个不存在的元素会得到 undefined。
- 《JavaScript语言精粹》学习笔记——6.数组
- 《JavaScript 语言精粹》 学习笔记 —— 第六章 数组
- 《JavaScript 语言精粹》 学习笔记 —— 第二章 语法
- 《JavaScript 语言精粹》 学习笔记 —— 第三章 对象
- 《JavaScript 语言精粹》 学习笔记 —— 第四章 函数
- 《JavaScript 语言精粹》 学习笔记 —— 第五章 继承
- 《JavaScript 语言精粹》 学习笔记 —— 第八章 方法
- JavaScript语言精粹学习笔记(1)——语法
- JavaScript语言精粹学习笔记(2)——对象
- 《JavaScript语言精粹》学习笔记——2.语法
- 《JavaScript语言精粹》学习笔记——3.对象
- 《JavaScript语言精粹》学习笔记——4.函数
- 《JavaScript语言精粹》学习笔记——5.继承
- 《JavaScript语言精粹》学习笔记——8.方法
- 《JavaScript语言精粹》学习笔记——附录A.毒瘤
- 《JavaScript语言精粹》学习笔记——附录B.糟粕
- JavaScript语言精粹学习笔记
- JavaScript语言精粹学习笔记
- Gradle插件开发-上传apk文件到Bugly
- jq中append添加轮播图片,只能显示一张图片
- BrainFuck-编译器用JAVA实现
- Broken Keyboard (a.k.a. Beiju Text)
- unity 协程
- 《JavaScript语言精粹》学习笔记——6.数组
- Linux面试总结知识点
- Java 随机
- 57. Insert Interval
- Git版本控制工具(三)----远程仓库GitHub的使用
- Android控件之圆角的Button和其他控件的使用
- Spring初识和环境搭建
- IE卫士v1.02 --- 一款完全免费的IE修复工具
- convolutional pose machines, CVPR 2016