第七章 数组

1、数组直接量的语法允许有可选的结尾的逗号,所以[ , , ]只有两个元素而非三个。

2、调用构造函数Array()创建数组时,传入一个参数时表示指定数组的长度。

3、所有的索引都是属性名,但只有在0~2^32-2之间的整数属性名才是索引。所有的数组都是对象,可以为其创建任意名字的属性。但如果使用的属性是数组的索引,数组的特殊行为就是将根据需要更新它们的length属性值。

4、名字不是非负整数时,只能当作常规的对象属性,而非数组的索引。

5、稀疏数组就是包含从0开始的不连续索引的数组。可以用Array()构造函数或简单地指定数组的索引值大于当前的数组长度来创建稀疏数组。

6、当省略数组直接量中的值时,这时所得到的数组也是稀疏数组,省略掉的值是不存在的。

7、设置length属性为一个小于当前长度的非负整数n时,当前数组中那些索引大于或等于n的元素将从中删除。

8、delete操作并不影响数组长度,如果从数组中删除一个元素,它就变成稀疏数组。

9、循环中数组的长度应该只查询一次而非每次循环都要查询。

10、slice()方法中如果参数出现负数,它表示相对于数组中最后一个元素的位置。slice()不会修改调用的数组。

11、splice()会修改调用的数组。

12、当使用多个参数调用unshift()时它的参数是一次性插入的,而非一个个地插入。这意味着最终数组中插入的元素的顺序和它们在参数列表中的顺序一致。

13、传递给map()的函数的调用方式和传递给forEach()的函数的调用方式一样。但传递给map()的函数应该有返回值。它返回的是新数组,不修改调用的数组。

14、filter()会跳过稀疏数组中缺少的元素,它的返回数组总是稠密的。将稀疏数组变为稠密数组:var dense=sparse.filter(function(){return true;});

15、every()方法:当且仅当数组中的所有元素调用判定函数都返回true时,它才返回true。some()方法:当数组中至少有一个元素调用判定函数返回true,它就返回true。

16、根据数学上的惯例,在空数组上调用时,every()返回true,some()返回false。

17、判定一个对象是否是数组:使用Array.isArray()函数或者对象的toString()方法。

18、把拥有一个数值length属性和对应非负整数属性的对象看作一种类型的数组,叫做类数组对象。比如arguments对象和一些DOM方法返回的对象。

19、通过Array.prototype.slice.call(a,0)将类数组对象a转换为真正的数组。

20、字符串是不可变值,故当把他们作为数组看待时,它们是只读的,如push()/sort()/reverse()/splice()等数组方法会修改数组,他们在字符串上是无效的。

js-权威指南学习笔记7的更多相关文章

  1. js权威指南---学习笔记02

    1.JS只有函数作用域,没有块级作用域这个概念: 它有一个特性——声明提前:在同一个函数中不同位置声明的变量,都被提前在函数开始的时候,执行声明操作:在原先位置执行赋值操作: 2.声明的全局变量,相当 ...

  2. js权威指南学习笔记(一)类型、值和变量

    1.数据类型:原始类型(primitive type) 和对象类型(object type) 原始类型包括数字.字符串和布尔值: 除数字.字符串.布尔值.null(空).undefined(未定义), ...

  3. js权威指南---学习笔记01

    1.当函数赋值给对象的属性时,就变为了方法:2.被零整除不报错,只会返回无穷大(Infinity)或者负无穷大.例外:零除以零等于非数字(NaN).3.NaN与任何值都不相等! 4.Javascrip ...

  4. js权威指南学习笔记(四)对象

    1.创建对象 (1).通过对象直接量的方式创建 说明:对象直接量是由若干名/值对组成的映射表,名/值对中间用冒号分隔,名/值对之间用逗号分隔,整个映射表用花括号括起来. 如:       5 5   ...

  5. js权威指南学习笔记(三)语句

    1.声明语句 如果用var声明的变量没有初始化,那么这个变量的值会被初始化为undefined. 函数声明语句的语法如下:       4 4           1 console.log(func ...

  6. js权威指南学习笔记(二)表达式与运算符

    1.数组初始化表达式 数组直接量中的列表逗号之间的元素可以省略,这时省略的空位会填充undefined.如:       2 2           1 var arr = [1,,,,,6]; 2 ...

  7. JavaScript 权威指南-学习笔记(一)

    本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! ## JavaScript 权威指南-学 ...

  8. 《JS权威指南学习总结》

    JS权威指南学习总结:http://www.cnblogs.com/ahthw/category/652668.html

  9. 《JS权威指南学习总结--开始简介》

    本书共分成了四大部分: 1.JS语言核心 2.客户端JS 3.JS核心参考 4.客户端JS核心参考 其中 <JS权威指南学习总结--1.1语法核心> 是:第一部分JS语言核心 各章节重点 ...

  10. HTTP权威指南-学习笔记

    目录 HTTP权威指南-学习笔记 HTTP: Web的基础 URL与资源 HTTP报文 连接管理 HTTP结构 Web服务器 代理 缓存 集成点: 网关,隧道及中继 Web机器人 识别,认证与安全 客 ...

随机推荐

  1. 本机的虚拟机执行ifconfig,显示不出ip的解决方法

    源于:https://blog.csdn.net/fuweihua123/article/details/78423715?locationNum=4&fps=1 本机的虚拟机执行ifconf ...

  2. 重新设置Linux文件共享密码..

    今天同事把我主机踹倒了,鼠键都没反应,于是我在Linux运行的情况下强制重启了下电脑. 启动完了VMware后Linux重启,正常使用.后来我想起来有快照功能 之前也没用到过,于是就点了一下刚开始安装 ...

  3. 【bzoj3224】【Tyvj 1728】 普通平衡树 树状数组

    您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入$x$数2. 删除$x$数(若有多个相同的数,因只删除一个)3. 查询$x$数的排名(若有多个相同的数,因输出最小 ...

  4. 快速排序的理解和实现(Java)

    快速排序介绍 快速排序(Quick Sort)使用分治法策略,其基本思想是:通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另外一部分记录的关键字小,则可分别对这两部分记录继续进 ...

  5. diskpart 格式化u盘 制作u盘启动盘方法

    1.cmd 2.diskpart 3.list disk 4.select disk [index]   注:[index] 磁盘索引号 5.clean 6.create partition prim ...

  6. javascript闭包使用 分类: JavaScript 2015-05-01 11:34 652人阅读 评论(3) 收藏

    之前看到一段代码,很是不能理解,然后就查找资料并且找网络上得大牛请教,最后弄懂了这段代码,然后就拿出来总结一下. 1.挖坑 先来看一段代码: var arrTest = []; for (var i ...

  7. notepad++中设置python运行

    1. Notepad++ ->"运行"菜单->"运行"按钮 2. 在弹出的窗口内输入以下命令: cmd /k python "$(FULL ...

  8. Okhttp3上传多张图片同时传递参数

    之前上传图片都是直接将图片转化为io流传给服务器,没有用框架传图片. 最近做项目,打算换个方法上传图片. Android发展到现在,Okhttp显得越来越重要,所以,这次我选择用Okhttp上传图片. ...

  9. 解决LNMP环境下WordPress后台缺少”WP-ADMIN”路径

    LNMP一键安装包也是老左比较喜欢使用的环境之一,昨天帮助一个网友搭建LNMP环境后发现登陆WP后台之后点击左侧的菜单发现直接跳转404错误,开始还以为数据库问题,视线朝上一看原来在地址栏中的路径缺少 ...

  10. C++字符串string类常用操作详解(一)【初始化、遍历、连接】

    代码示例: #include <iostream> #include "string" using namespace std; //字符串初始化 void strIn ...