不知道为什么我无法找到有关此语法的更多信息,但它是这样的......
var str = "Hello", length = str.length;
console.log(length); //5
让我进入我正在做的事情,以便答案是相关的。我可以继续这样分配...
var str = "Hello", length = str.length, lengthtwo = str.length*2;
console.log(length); //5
console.log(lengthtwo); //10
*下一个测试结果不准确,记录在以前的全局上。但我会继续让其他人看到。
(function() {var str = "Hello", length = str.length, lengthtwo = str.length*2;})();
console.log(length); //5
console.log(lengthtwo); //10
它看起来正在创建一个全局变量,但您不能创建一个本地变量。
另外,我知道你可以做...
var foo = 1,
bar = 2;
这将创建两个局部范围变量,因为 var 也被传递给 bar。因此,如果我在这个上使用类似的范围测试,我会得到没有定义,这与之前的测试不同。
更新:菜鸟错误!毕竟这和 foo 和 bar 完全一样,但是我访问的是我在之前的测试中声明的全局变量。所以这里没有魔法。