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