严格模式:更严格的开发模式
- js的代码规范非常不严格,所以严格模式的意义是:
- 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
- 消除代码运行的一些不安全之处,保证代码运行的安全;
- 提高编译器效率,增加运行速度;
- 为未来新版本的Javascript做好铺垫
- 严格模式的开启方式
- 在作用域开始的位置,加上一行字符串:"use strict";
- 局部严格
- 安全,但不方便,麻烦
- 全局严格
- 不安全
- 配合匿名函数
- 利用父子作用域,本质是局部,但实现了全局的方便
- - 严格模式开启之后的变更
1. 声明变量必须加关键字(var)
2. 不允许参数名重复
3. 没有明确隶属对象的函数中的this(执行了)指向undefined
4. arguments的内容不会被形参的改变而影响
5. arguments.callee被禁止使用
concat() ES5- 合并数组,并返回合并之后的数据 n
join() ES5- 使用分隔符,将数组转为字符串并返回 n
pop() ES5- 删除最后一位,并返回删除的数据 y
shift() ES5- 删除第一位,并返回删除的数据 y
unshift() ES5- 在第一位新增一或多个数据,返回长度 y
push() ES5- 在最后一位新增一或多个数据,返回长度 y
reverse() ES5- 反转数组,返回结果 y
slice() ES5- 截取指定位置的数组,并返回 n
sort() ES5- 排序(字符规则),返回结果 y
splice() ES5- 删除指定位置,并替换,返回删除的数据 y
toString() ES5- 直接转为字符串,并返回 n
valueOf() ES5- 返回数组对象的原始值 n
indexOf() ES5 查询并返回数据的索引 n
lastIndexOf() ES5 反向查询并返回数据的索引 n
forEach() ES5 参数为回调函数,会遍历数组所有的项,回调函数接受三个参数,分别为value,index,self;forEach没有返回值 n
map() ES5 同forEach,同时回调函数返回数据,组成新数组由map返回 n
filter() ES5 同forEach,同时回调函数返回布尔值,为true的数据组成新数组由filter返回 n
every() ES5 同forEach,同时回调函数返回布尔值,全部为true,由every返回true n
some() ES5 同forEach,同时回调函数返回布尔值,只要由一个为true,由some返回true n
reduce() ES5 归并,同forEach,迭代数组的所有项,并构建一个最终值,由reduce返回 n
reduceRight() ES5 反向归并,同forEach,迭代数组的所有项,并构建一个最终值,由reduceRight返回 n