ES5-2 语法、规范、错误、运算符、判断分支、注释
生活随笔
收集整理的這篇文章主要介紹了
ES5-2 语法、规范、错误、运算符、判断分支、注释
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 錯誤
MDN錯誤列表
Uncaught SyntaxError: Unexpected token ')' // 語法錯誤 Uncaught ReferenceError: a is not defined // 引用錯誤等類型 Uncaught TypeError: Cannot read property 'toString' of null-
出現一個語法錯誤,則一行代碼都不會執行(檢查通篇的語法錯誤,全部正確才執行)
-
出現引用錯誤,則中斷錯誤處及之后的代碼
-
html內寫腳本,腳本代碼塊之間互不影響,無論其中一個腳本報語法錯誤還是通用錯誤
中斷之后執行
1. // 2. // 3. //| RangeError: argument is not a valid code point | String.fromCodePoint(’_’); |
| RangeError: invalid array length | new Array(Math.pow(2, 40)) |
| RangeError: invalid date | 【chrome不報錯,firefox報錯】 new Date(‘2014-25-23’).toISOString(); |
| RangeError: precision is out of range | 77.1234.toExponential(-1); |
| RangeError: radix must be an integer | (42).toString(0); |
| RangeError: repeat count must be less than infinity | ‘abc’.repeat(Infinity); |
| RangeError: repeat count must be non-negative | ‘abc’.repeat(-1); // RangeError |
- 數字后跟.會引起歧義,不知道是小數點還是調用,報語法錯誤
2. 運算
怎么得到正負無窮,NaN
怎么得到數字最后一位,最后兩位
+0 -0 相等/全等嗎
- 0 / 0 得到NaN是number類型(NaN與包括自己在內的任何東西都不相等)
- 1 / 0 得到Infinity 是number類型
- -1 / 0 得到-Infinity是number類型
- 正負無窮互不相等更不全等
- 4 % 6得到4,取模a<b時,結果為a取小的
- 數字%10能得到最后一位,%100得到最后兩位
- 一個詭異的問題, 這段代碼不加分號會報錯
- 交換值
- ES6匹配
-
,是運算符,只返回最后一個
-
++在后面:先打印后運算(打印的時候/參與運算的時候還沒有賦值)
-
++在前面:先運算賦值后打印
這個注意下
-
字符串之間比較,從各自首位開始查找ASCII碼(.也能查找到對應的十進制代碼)
-
.的ASCII碼比阿拉伯數字小
3. 判斷分支
- 如果條件間是互斥的,使用if - else if,這樣比起羅列所有的if(假設if內沒有return),能減少走多余的分支
- switch如果沒寫break,則不能中斷查詢,還會走查到后的分支
- 一般判斷結果是多個定值的用switch,判斷條件有多個語句的用if
4. 邏輯運算
- 一定是假(6個): 0 '' NaN null false undefined
- 除上述以外一定是真
- 通過邏輯運算推導if語句里條件滿足的判斷
- &&遇到真就往后走,遇到假就返回,都沒有假則返回最后一個真的值
- ||遇到假就往后走,遇到真就返回,都沒有真則返回最后一個假的值
總結
以上是生活随笔為你收集整理的ES5-2 语法、规范、错误、运算符、判断分支、注释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1535C. Unstable Stri
- 下一篇: 谷歌翻译无法连接网络_window10无