JS的变量声明存在变量提升
对JS脚本执行的时候,函数的声明会被提取到顶端执行。所以
如 : add(1,2);
function add(a,b){
console.log(a+b);
}
是可以执行打印3的。
对于变量而言,声明也会被提前。但是赋值的位置是不变的
如 :
console.log(a);
var a = 12;
console.log(a);
第一个a 为undefined 第二个为12。它相当于
var a;
console.log(a);
a = 12;
console.log(a);
变量的作用域是程序源代码中定义这个变量的区域。
全局变量拥有全局作用域,函数内部声明的变量只在函数内有定义,它是局部变量,作用域是局部性的。
在函数体内,局部变量的优先级高于全局变量。如果在函数内声明一个局部变量或者函数参数中带有的变量和全局重名,那么全局变量就会被局部变量所遮盖。
如: var a = "哈哈";
function speak(){
var a = "哭泣";
return a;
}
speak(); // "哭泣"
JS变量声明跟变量作用域
最新推荐文章于 2021-06-19 17:26:39 发布