站内搜索:
首页 >> 前端 >> 内容
变量赋值问题解析

时间:2018/5/7 11:05:45

变量赋值问题解析

(function(){
  var a = b = 3;
})();
console.log(typeof a);//undefined
console.log(typeof b);//number

解析:

首先理解一句话是在立即执行函数体里面var a = b = 3;对这个进行拆解一下(赋值过程从左到右)

b = 3;
var a = b;

变量b是一个全局变量

变量a在封闭的立即执行函数作用域内的局部变量

所以typeof a是undefined typeof b 是number

在非严格模式下,如果在严格模式下(use strict)下,声明var a = b = 3;将产生一个运行时的错误:

ReferenceError:b is not defined

  • 上一篇:Bootstrap自定义模态框,自动消失的代码实现
  • 下一篇:webpack问题记录分析
  • 返回顶部