我指的是
JavaScript var hoisting的文档,在一个部分我发现了
Initialization of several variables,下面给出了
Example.
var x = 0; function f(){ var x = y = 1; } f(); console.log(x,y); // outputs 0,1 // x is the global one as expected // y leaked outside of the function,though!
我假设将异常作为未捕获引用错误:y未定义.
但由于泄露的范围没有发生,它显示0,1.
我能否知道为什么会发生这种情况以及是什么导致这种情况发生的.
最后任何与性能相关的问题
解决方法
你没有宣布你.
var x = y = 1;
相当于
y = 1; var x = y; // actually,the right part is precisely the result of the assignement
一个undeclared variable is a global variable(除非你在strict mode,然后这是一个错误).
你所指的例子是不同的,有一个逗号,is part of the multiple declaration syntax.
你可以修复你的代码
var y=1,x=y;