考虑followng代码的Javascript变量强制转换为字符串,为什么?
<!DOCTYPE html>
<html>
<head>
<script>
var name = 0;
while (name < 6) {
console.log('Masha');
name = name + 1;
console.log(name);
}
</script>
</head>
<body>
</body>
</html>
我希望在Chrome开发者工具的输出是:
Masha
name.html:9 1
name.html:7 Masha
name.html:9 2
name.html:7 Masha
name.html:9 3
name.html:7 Masha
name.html:9 4
name.html:7 Masha
name.html:9 5
name.html:7 Masha
name.html:9 6
相反,我得到
Masha
name.html:9 01
name.html:7 Masha
name.html:9 011
为什么会出现这种情况?如果我直接复制/粘贴代码,也会发生这种情况。如果我砍name
的n
的,然后它的工作。如果我改变的变量myName
它的工作。为什么它被强制为一个字符串?我正在使用Chrome的Version 57.0.2987.133 (64-bit)
。它也发生在Firefox 52.0.2 (64-bits)
。
这时候我在节点或在Internet Explorer中运行的代码不会发生。
检查答案在这里[链接](http://stackoverflow.com/questions/10523701/using-the-variable-name-doesnt-work-with-a-js-object) –
道歉的双重职位。 –