# 1、ES5的新增
- 什麼是ES5,ECMAScript5
- ES的版本更新,向下兼容,老版本並無所有廢棄,新版本只是在老版本的基礎上新增
## 1. 嚴格模式
- 嚴格模式:更嚴格的開發模式
- js的代碼規範很是不嚴格,因此嚴格模式的意義是:
- 消除Javascript語法的一些不合理、不嚴謹之處,減小一些怪異行爲;
- 消除代碼運行的一些不安全之處,保證代碼運行的安全;
- 提升編譯器效率,增長運行速度;
- 爲將來新版本的Javascript作好鋪墊
- 嚴格模式的開啓方式
- 在做用域開始的位置,加上一行字符串:"use strict";
- 局部嚴格
- 安全,但不方便,麻煩
- 全局嚴格
- 不安全
- 配合匿名函數
- 利用父子做用域,本質是局部,但實現了全局的方便
// "use strict";
// function fn(){
// "use strict"
// }
// ;(function(){
// "use strict"
// // ....
// function fn(){}
// })();
- 嚴格模式開啓以後的變動
1. 聲明變量必須加關鍵字(var)
2. 不容許參數名重複
3. 沒有明確隸屬對象的函數中的this(執行了)指向undefined
4. arguments的內容不會被形參的改變而影響
5. arguments.callee被禁止使用
## 2. 新增了一些數組的方法
- 功能:
- 參數:
- 返回值:
- 是否改變原數組:
- arr.indexOf()
- arr.forEach()
- arr.map()
- arr.filter()
- arr.some()
- arr.every()
- arr.reduce()
- arr.reduceRight()
- .....
- 數組的經常使用方法大全:https://www.jianshu.com/p/7e160067a06c