ES5-17/18 错误信息、try_catch、严格模式
生活随笔
收集整理的這篇文章主要介紹了
ES5-17/18 错误信息、try_catch、严格模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
錯誤信息
語法錯誤
引用錯誤
范圍錯誤
類型錯誤
URIError
- decodeURI()傳非法參數
URI 統一資源標識符 uniform resource indentified
URN 統一資源名稱 uniform resource name
URL 統一資源定位符 uniform resource locator(URI+URN)
瀏覽器會將地址轉換為中文編碼字符(有可能是UNICODE、GBK…)
EvalError
- eval函數執行錯誤
- json字符串、json對象中不能有方法
不建議使用eval
錯誤
JS錯誤信息類型
try catch finally throw
手動拋出錯誤的方法
- try的內容正常執行時,不走catch
- 可能會錯誤的放try里,一定能執行的放finally里
- JSON.parse()參數不能是空字符串或undefined,必須是JSON字符串
- throw要寫在可能會出錯的代碼段前, catch(e) 可以拋出自定義信息e
嚴格模式
ECMAScript
- JavaScript語法規范
- 97 1.0
- 98 2.0
- 99 3.0 JS通行標準
- 07 4.0草案 激進 瀏覽器廠商不接受 只有Mozilla支持
- 08 4.0中止 容易改善的版本放到3.0中 → 3.1 剩下4.0的部分 → Harmony未發布
- 3.1更名為 ECMAScript5
- 09 5.0 發布 Harmony = JS.next+ JS.next.next
- 11 5.1 ISO國際標準
- 13 ES6草案發布 = js.next ES7 = JS.next.next
- 15 ES6正式發布,ECMAScript2015
ES5
- 正常模式 嚴格模式
- 啟動嚴格模式:在腳本首行或函數體首行寫use strict
- with可以改變作用域(因此會消耗性能)
- 嚴格模式不能使用with、caller、callee
- 嚴格模式下不能不寫var
- 嚴格模式下,函數內部fn使用this指向undefined,但new fn實例化返回的this還是指向實例
- 嚴格模式下,函數參數不能重復
- 嚴格模式下,對象的屬性不能重復
- 嚴格模式下,eval有自己的作用域,內部用var聲明的變量不再是全局的
-
早期開發,設置命名空間,防止命名重復的方法
-
多人協作完成一個js文件,模塊化 → 命名空間不重復
沒區別啊
總結
以上是生活随笔為你收集整理的ES5-17/18 错误信息、try_catch、严格模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 获取qq群成员信息_Pyt
- 下一篇: B. Trouble Sort Code