前端進階訓練營 (視頻認真看源碼需實踐課件齊)

# 0418 - JavaScript(助教筆記)

 

## JS 詞法、類型正則表達式

 

### 預備知識:[unicode]字符集、[Blocks] 編碼組ide

 

  - 0 ~ U+007F:經常使用拉丁字符函數

    - `String.fromCharCode(num)`編碼

  - U+4E00 ~ U+9FFF:CJK ChineseJapaneseKorean三合一spa

    - 有一些增補區域(extension)code

  -  U+0000 - U+FFFF:[BMP]字符平面映射)) 基本平面orm

 

- [Categories]blog

  - [space空格系列]ip

- 實踐utf-8

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

  - 中文變量名

 

    因涉及到文件的編碼保存方式,使用 `\u十六進制unicode`轉譯(`'厲'.codeCodeAt().toString(16)`)

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

### Atom 詞

 

#### InputElement

 

- whiteSpace

 

  可查閱 unicode [space列表](交流V:(cmL46679910))

 

  - Tab:製表符(打字機時代:製表時隔開數字很方便)

  - VT:縱向製表符

  - FF: FormFeed

  - SP: Space

  - NBSP: NO-BREAK SPACE(和 SP 的區別在於不會斷開、不會合並)

  - ...

 

- LineTerminator 換行符

 

  - LF: Line Feed `\n`

  - CR: Carriage Return `\r`

  - ...

 

- Comment 註釋

 

- Token 記號:一切有效的東西

 

  - Punctuator: 符號 好比 `> = < }`

  - Keywords:好比 `await`、`break`... 不能用做變量名,但像 getter 裏的 `get`就是個例外

    - Future reserved Keywords: `eum`

  - IdentifierName:標識符,能夠以字母、_ 或者 $ 開頭,代碼中用來標識**[變量](交流V:(cmL46679910))、[函數]、或[屬性]**的字符序列

    - 變量名:不能用 Keywords

    - 屬性:能夠用 Keywords

  - Literal: 直接量

    - Number

      - 存儲 Uint8Array、Float64Array

      - 各類進制的寫法

        - 二進制0b

        - 八進制0o

        - 十進制0x

      - 實踐

        - 比較浮點是否相等:Math.abs(0.1 + 0.2 - 0.3) <= Number.EPSILON

        - 如何快捷查看一個數字的二進制:(97).toString(2)

    - String

      - Character

      - Code Point

      - Encoding

        - unicode編(交流V:(cmL46679910))碼 - utf

          - utf-8 可變長度 (控制位的用處)

      - Grammar

        - `''`、`""`、``` `

    - Boolean

    - Null

    - Undefind

 

小做業

 

- 寫一個正則 匹配全部Number直接量

- 完成 UTF8__Encoding 的函數

- 寫一個正則表達式來匹配字符串

相關文章
相關標籤/搜索