// js中变量赋值是从右往左赋值的
var a=1,b=2,c=3;
(function() {
  var a=b=1;
  console.log(a); // 1
  console.log(b); // 1
})();

console.log(a); // 1
console.log(b); // 1

  上述例子中可以将函数内的表达式分为两步:

b = 1var a = b;

  因为b未用var定义,所以b虽在局部作用域(函数体内),但却是全局变量。(变量污染),最后呈现的结果,由于函数内的b变量污染了全局的b变量,因此,打印为4个1。

相关文章:

  • 2021-12-04
  • 2021-11-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-05
  • 2021-12-24
  • 2021-10-08
  • 2021-09-29
相关资源
相似解决方案