Brief Syntax Introduction
JS是解释型语言。
解释型语言 与 编译型语言:
解释型:一行一行看,容易出错但方便,可以及时方便地找到出错位置以及出错原因,容易跨平台(可以嵌入到其他软件)。
编译型:把高级语言预先翻译成机器语言,并把结果保存下来,速度快(编译器优化),不易出错,但不能跨平台(e.g. .exe can't be run in MacOS)。
-
行末分号非必需:
JS中的每一行都可以选择使用分号终止,即编译器会自动补全没有用分号的地方。 -
JS中的变量是 弱类型 的,即变量的类型只有在被赋值的时候才得到确认。
数据类型与变量
-
const用来声明常量(一旦声明后续值不可更改),let用来声明变量(一个变量只能声明一次,值以及值的类型可以被多次更改)。 -
JS中的基本类型有数字、字符串、布尔值、符号、null和undefined。 -
JS中遇到计算除法时除数为0的情况时,不会报错,会根据被除数的值来返回对应的结果。若被除数是正数,则返回Infinity;若被除数是负数,则返回-Infinity;若被除数是0,则返回NaN(Not a Number)。
除以0的余数(1 % 0)为NaN。 -
与
python类似,JS中一个*代表相乘,**则代表幂运算。 -
JS中===表示检查是否相等,!==表示检查是否不等。
字符串
-
JS中的字符串用''或""括起来表示。若想表达的字符串中本身含有'或",则需要用到转义字符。
e.g.I'm "OK"!的表示是:'I\'m \"OK\"!'; -
在
JS中输出多行字符串的方式是用反引号。
e.g.`No \n anymore `; -
与
python类似,要把多个字符串连接起来,可以用+号连接。也可以通过模版字符串的方式来方便输出过程。let name = '小明'; let age = 20; let message1 = '你好, ' + name + ', 你今年' + age + '岁了!'; let message2 = `你好, ${name}, 你今年${age}岁了!` //message1 = message2 -
JS中的字符串是不可变的,即不能通过s[id] = 'A'的方式来将s中id位置的字母改成A。 -
JS中有很多类似python和C++ STL中的字符串函数,如toUpperCase,indexOf,substring等。