共计 431 个字符,预计需要花费 2 分钟才能阅读完成。
js 中定义变量形式如下三种常见形式
var foo = 1; | |
let data = 2; | |
const arr = []; |
非凡形式
function aa () {} | |
import aa from "aa" | |
class AA {} |
变量晋升和函数晋升
函数晋升会被优先晋升到最前,然而前面的变量名字和函数名统一的话,赋值会笼罩掉后面的函数
var aa = 1 | |
function aa() {} | |
aa // 1 |
var 定义变量的步骤
- 第一阶段,变量到作用域中, 申明变量,未赋值,所以是 undefined
- 第二阶段,赋值,aa = 1
- 第三阶段,变量回收,标记回收法
块级作用域
foo // undefined | |
{let foo = "dd"} |
长期死区
let 和 const 没有变量晋升,必须先定义后应用;
否则会报错
不容许反复申明
let a = 1; | |
{a = 2} | |
let a = 5 // 报错 |
const 定义时候必须赋值
const 变量指向的那个内存地址所保留的数据不得改变;
援用类型指向的对象能够批改
const arr = []; | |
arr.push(1) | |
arr.d = 2 | |
arr = {} // error |
正文完