js变量声明提前

js变量声明提前

每日一个小知识,嘿嘿嘿
– 当JS执行时遇见 var 和 function 的时候,将会出现变量声明提前。这个过程也叫做”预解析” 或 “预编译”
– 对 var 声明只是将声明提前,赋值任然保留在原位置
– function 声明,会将函数名称和函数体都提前,而且先预声明变量,在预定义函数
来个简单的小例子

var 声明简单例子

console.log(a);//输出 undefined
var a = 100;
console.log(a);//输出 100

//上面的实际顺序是这样的
var a;//定义
console.log(a);//undefined
a = 100;//赋值在原位置
console.log(a);//100

function 声明

– 声明提前仅能将声明提前到所在作用域的顶部

function fun(){
	console.log(a);//undefined
	var a = 100;
	console.log(a);//100
}
fun();
console.log(a);//报错!!!没有a

标签

发表评论

您必须启用javascript才能在此处查看验证码