变量提升
2021-03-07 本文已影响0人
千千默默
当浏览器开辟出供代码执行的栈内存后,代码并没有自上而下立即执行,而是继续做了一些事情:把当前作用域中所有带var/function关键字的进行提前的声明和定义=>变量提升机制
带var的只是提前声明(declare)“var a”如果只声明没有赋值,默认值是undefined
带function的不仅声明,而且还定义了(defined)“a=13”定义其实就是赋值,准确来说就是让变量和某个值进行关联
当浏览器开辟出供代码执行的栈内存后,代码并没有自上而下立即执行,而是继续做了一些事情:把当前作用域中所有带var/function关键字的进行提前的声明和定义=>变量提升机制
带var的只是提前声明(declare)“var a”如果只声明没有赋值,默认值是undefined
带function的不仅声明,而且还定义了(defined)“a=13”定义其实就是赋值,准确来说就是让变量和某个值进行关联