js声明变量的提升

1、var声明的变量将提升到当前作用域的顶部,而不是全局。只有声明提升,赋值不提升。不使用var声明的变量默认挂在全局对象window下。

2、如果是函数变量提升,相当于var add; add = function…。

实例

//变量提升到当前作用域顶部
functionadd(num1,num2){
console.log(sum);//undefined
varsum=num1+num2;
returnsum;
}
varresult=add(10,20);//30
console.log(sum);

//只有变量会提升
console.log(typeof(a));//undefined,a为变量提升
console.log(typeof(b));//function,b为具名函数,函数整体提升
vara=function(){}
functionb(){}

由于变量的增加,sum将被提升到函数的第一行varsum;因此,第一个log是undefined。而且外面的sum直到整体作用域都找不到,所以报错没有定义。

以上就是js声明变量的提升,希望对大家有所帮助。更多js学习指路:js教程

原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容