变量提升与函数提升
一、变量提升和函数提升是什么?
console.log(a); //undefinde
var a = 10;
通过var定义(声明)的变量,在定义语句之前就可以访问到
二、变量声明提升和函数声明提升
变量声音提示
(1) 通过var定义(声明)的变量,在定义语句之前就可以访问到
(2) 值undefinded函数声明提升
(1) 通过function声明的函数,在之前就可以直接调用
(2) 值函数定义(对象)函数提升的优先级大于变量提升的优先级
问题: 变量提升和函数提升是如何产生的?
(1) JS是先把用到的变量全部声明之后,再到变量的定义地方赋值
(2) 而函数的提升直接将整个函数提升到最开始的位置