ES5严格模式和普通模式及ES5新增的数组的API

ES5的严格模式和普通模式

严格模式用关键词 ‘use strict‘,在作用域写,如果写在局部作用域中,则在局部作用域中起作用,在全局写严格模式则在全局都器作用。

严格模式和普工模式的区别:1,变量声明:在普通模式下可以不用var 声明,但是在严格模式下必须用var 声明。

2,禁止用with。在普通模式下,可以用with遍历对象,但是在严格模式写不可以用with。

3,设立eval()作用域。在普通模式下,作用域分为全局和局部作用域,函数是分界线,但是在严格模式下,eval()有独自的作用域。

4,函数的this指针。在普通模式调用函数,函数的this指针执行window对象,但是在严格模式下,直接调用函数,则指针指向undefined。

5,删除变量。在严格模式不能删除变量,在普通模式可以删除没有用var声明的变量。

6,函数参数不能重名。

7,八进制不让用。

8,argumrnts不追踪参数的变化。

ES5新增的数组方法。

indexOf()参数是数组的元素,如果数组里面有该元素返回该元素的索引号,如果没有则返回-1。

forEach(function(){})有三个参数,第一个参数是数组的元素,第二个参数是索引号,第三个参数是操作的该数组,一般第三个参数很少用。

map(function(){})和forEach()一样就有一点不同,这个有返回值。

filter(function(){})过滤出符合条件的元素。

some(function(){})如元素中有符合条件的元素,返回true。

every(function(){})数组中所有的元素都得符合条件,返回true。

reduce(function(a,b){})这个函数有累加的效果。

猜你喜欢

转载自blog.csdn.net/asedasdad/article/details/81705687