品易云推流 关闭
文章详情页
文章 > JavaScript > js声明变量的提升

js声明变量的提升

js 变量

头像

小妮浅浅

2021-11-17 15:09:3213133浏览 · 0收藏 · 0评论

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

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

实例

// 变量提升到当前作用域顶部
function add(num1, num2) {
    console.log(sum); // undefined
    var sum = num1 + num2;
    return sum;
}
var result = add(10, 20); //30
console.log(sum);
 
// 只有变量会提升
console.log(typeof(a)); // undefined,a为变量提升
console.log(typeof(b)); // function,b为具名函数,函数整体提升
var a = function() {  }
function b() {  }

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

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

推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图