• 技术文章 >Web开发 >JavaScript

    js声明变量的提升

    小妮浅浅小妮浅浅2021-11-17 15:09:32原创14568

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

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

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    // 变量提升到当前作用域顶部

    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电脑。

    专题推荐:js 变量
    上一篇:js作用域链是什么 下一篇:js中pop和push的比较

    相关文章推荐

    • js原型链的优缺点• js自定义事件的实现• js Number数据类型的介绍• js Bigint数据类型是什么• js中null是什么• js中symbol是什么• js创建构造函数的注意点• js中valueOf和toString的区别• js中构造器属性的介绍• js栈的应用场景• js中的树如何理解• js中ES Module和CommonJs的区别• js作用域链是什么

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网