主要知识点
1、JS代码执行之前 先把代码中带var 和带function的提前声明 var 只声明不定义 function 声明加定义 若是在大括号中的function 是只声明不定义的,只声明不定义 给他的默认值是undefined
例如:console.log(a); var a=1的输出结果就是undefined
2、 let const 暂时性死区 也就是在let前绝对不能调用对应的变量一调用就报错
例如:console.log(b);let b=2;输出就会报错
3、变量提升只提升变量左边的部分 var 出来的变量会在window下增加一个对应的属性:window是全局大对象 let const声明出来的变量,不会在window中增加对应的属性; 栈内存:存储值类型,提供代码运行环境; 堆内存:存储引用数据类型
例如: