语言基础
1.变量
var
let
const
三者区别:
-
let在全局作用域中声明的变量不会成为window对象的属性(var声明的变量则会)
-
let声明的范围是块作用域,var声明的范围是函数作用域
-
let 、const 不存在变量提升(产生暂时性死区)
-
let、const不能在同一块级作用域内重复申请
-
const声明变量时必须同时初始化变量,且尝试修改const声明的变量会导致运行错误
2.数据类型
typeof操作符
用来确定任意变量的数据类型
let = message="some string";
console.log(typeof message);//"string"
数据类型转换
可以将非数值转换为数值的三个函数:Number()、parseInt()、parseFloat()
把值转换为字符串:toString() 通常情况下不接收任何参数
模板字面量
保留换行字符,可以跨行定义字符串,在定义模板时很有用。
字符串插值
${ } 所有插入值都会使用toString()强制转型为字符串,而且任何JavaScript表达式都可以用于插值。
3.操作符
逻辑或 | |
逻辑与 &&
4.语句
if
do-while
while
for
for-in
标签语句
break、continue语句
break用于立即退出循环,强制执行循环后的下一条语句,而continue语句也用于立即退出循环,但会再次从循环顶部开始执行。
with语句
将代码作用域设置为特定的对象,主要使用场景为针对一个对象反复操作,严格模式不允许使用with语句,否则会抛出错误。
switch语句
switch (expression) {
case value1:
statement
break;
case value2:
statement
break;
case value3:
statement
break;
default:
statement
}
5.函数
基本语法
function functionName(params) {
statements
}