JavaScript Note

发布时间 2023-10-07 17:15:36作者: BeyondLimits

\[Notes \; of \; JavaScript \; Handbook \]

Brief Syntax Introduction

  1. JS解释型语言

解释型语言 与 编译型语言:

解释型:一行一行看,容易出错但方便,可以及时方便地找到出错位置以及出错原因,容易跨平台(可以嵌入到其他软件)。
编译型:把高级语言预先翻译成机器语言,并把结果保存下来,速度快(编译器优化),不易出错,但不能跨平台(e.g. .exe can't be run in MacOS)。

  1. 行末分号非必需:JS 中的每一行都可以选择使用分号终止,即编译器会自动补全没有用分号的地方。

  2. JS 中的变量是 弱类型 的,即变量的类型只有在被赋值的时候才得到确认。

数据类型与变量

  1. const 用来声明常量(一旦声明后续值不可更改),let 用来声明变量(一个变量只能声明一次,值以及值的类型可以被多次更改)。

  2. JS 中的基本类型有数字、字符串、布尔值、符号、nullundefined

  3. JS 中遇到计算除法时除数为 0 的情况时,不会报错,会根据被除数的值来返回对应的结果。若被除数是正数,则返回 Infinity ;若被除数是负数,则返回 -Infinity;若被除数是 0 ,则返回 NaN (Not a Number)。
    除以 0 的余数(1 % 0)为 NaN

  4. python 类似, JS 中一个 * 代表相乘, ** 则代表幂运算。

  5. JS=== 表示检查是否相等,!== 表示检查是否不等。

字符串

  1. JS 中的字符串用 ''"" 括起来表示。若想表达的字符串中本身含有 '",则需要用到转义字符。
    e.g. I'm "OK"! 的表示是:

    'I\'m \"OK\"!';
    
  2. JS 中输出多行字符串的方式是用反引号。
    e.g.

    `No 
    \n
    anymore
    `;
    
  3. python 类似,要把多个字符串连接起来,可以用 + 号连接。也可以通过模版字符串的方式来方便输出过程。

    let name = '小明';
    let age = 20;
    let message1 = '你好, ' + name + ', 你今年' + age + '岁了!';
    let message2 = `你好, ${name}, 你今年${age}岁了!`
    //message1 = message2
    
  4. JS 中的字符串是不可变的,即不能通过 s[id] = 'A' 的方式来将 sid 位置的字母改成 A

  5. JS 中有很多类似 pythonC++ STL 中的字符串函数,如 toUpperCaseindexOfsubstring 等。