前端进阶训练营 (视频认真看源码需实践课件齐)

# 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 的函数

- 写一个正则表达式来匹配字符串

相关文章
相关标签/搜索