使用JavaScript显示数组元素

Mar*_*isP 5 javascript arrays

我正在尝试显示JavaScript数组的元素.码:

var name = ["one" , "two"];
window.onload = function(){
document.getElementById('MinamaisVards').innerHTML=name[1];
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我为什么它显示字母"n"而不是数组的第二个元素?我不明白问题出在哪里.

ade*_*neo 14

目前已经是一个全球性的名称name,它是window.name,它仅接受字符串,所以当你做

var name = ["one" , "two"];
Run Code Online (Sandbox Code Playgroud)

在全球范围内,你得到它

console.log( name );
Run Code Online (Sandbox Code Playgroud)

你得到

"one, two"
Run Code Online (Sandbox Code Playgroud)

它是字符串类型,name[1]"n"就是字符串中的第二个字符.
这是因为你真正设置和获取的是window.name它,并且它不接受数组,因此它可以toString()在你传递的任何内容上运行.

将变量名称更改为尚未使用的名称

  • @MarisP - 在javascript中有窗口,主窗口也是最上面的范围,或者是*global*,所以当你不在函数范围但是在全局范围内时,任何`var`都附加到窗口,就像在`window.variable`中一样.一个窗口也可以有一个`name`,这意味着所有窗口都有一个内置的`name`属性,就像在`window.name`中一样,当你在全局范围内执行`var name`时,你实际上正在访问`window.name`这是一个特殊属性****只接受字符串,所以你传递的任何内容都将被转换为字符串. (3认同)