js变量声明和函数声明,温故而知新!
1、var变量声明提升
例1:
var a = 1,b = 2;
console.log(a,b) //1,2
执行过程
var a,b;
a=1,b=2;
console.log(a,b) //1,2
例2: 声明变量提升,赋值不会提升
cosnole.log(a,b); // undefined
var a = 1;b = 2;
执行过程
var a,b;
console.log(a,b); // undefined
a = 1,b = 2;
2、函数声明提升
例1:函数声明优先级大于变量声明
var a;
function a(){ console.log('funciton') }
console.log(a); //ƒ a(){ console.log('functionA'); }
执行过程
function a(){ console.log('function')}
var a;
console.log(a); //ƒ a(){ console.log('functionA'); }
例2:
console.log(a);
a();
var a = function (){ console.log('a') };
执行过程
var a;
console.log(a); // undefined
a(); //TypeError: a is not a function
a = funcion (){ console.log('a') }