console.log(i);
    for(var i=0;i<2;i++){
          console.log(i);
    }





这显示了浏览器中的一些意外输出。谁能解释一下?
输出为:



实际上,在不同的控制台上完全不同。 Mozilla文档说:


  // myVarVariable在这里可见
  
  for(var myVarVariable = 0; myVarVariable   // myVarVariable对整个函数可见}
  
  // myVarVariable在这里可见

最佳答案

这是由于吊装。在javascript中,用var声明的变量显示提升。提升是将所有变量声明置于Java脚本作用域顶部的过程。但是请注意,它们未分配以下代码中分配的值。
letconst不显示此行为



console.log(x);
var x = 4;
console.log(y)
let y = 4

关于javascript - 这个意外的输出是怎么来的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54483291/

10-12 00:27