JavaScript的解析执行过程

JavaScript的解析执行过程

    f1();

    console.log(c);

    console.log(b);

    console.log(a);

    function f1() {

        var a = b = c = 9;

        console.log(a);

        console.log(b);

        console.log(c);

    }

解析:

//js中会将函数和变量提升并预解析
//var a = b = c = 9;  相当于 var a = 9; b = 9 ; c = 9; 后两项是全局变量
//所以执行顺序变成以下
function f1(){
  var a;
  a = 9;
  b = 9;
  c = 9;
  console.log(a);

  console.log(b);

  console.log(c);
}
  f1(); // 9 9 9

  console.log(c); //9

  console.log(b); //9

  console.log(a); /报错undefine,此时的a是函数内部的局部变量,而bc不同是全局变量

你可能感兴趣的:(javascript,前端,vue.js)