1、js 如何 执行:分段执行
当浏览器拿到
js
代码时,会进行词法和语法的检查,一旦有不合法的情况 直接抛出错误
2、函数的编译与执行
预编译:找当前代码块里的声明
var let const function
预编译阶段 把变量绑定作用域
变量提升:
var
声明变量时,在预编译阶段,除了把变量绑定作用域外,还会立刻在此阶段初始化一个默认值undefined
function () {}
可以先调用再声明,这种行为本身也是变量提升行为
var
声明的变量 先使用时不报错,而是undefined
var
声明的全局变量会成为windows
的属性,不是函数变量
let
声明的变量, 先使用时就会报错
暂时性死区
指的是指
let const
声明的时候,声明变量的前面的区域都不能使用这个区域,var 没有暂时性死区
函数声明 声明的函数名要高于
var
声明同名变量名(只在编译期)
执行期间不管这些
一个变量只能存储一个值
网友评论