我正要在这里回答一个问题,发现我的自己在为一件似乎很容易理解的事情而苦苦挣扎。
考虑以下 HTML:
<input type="text" id="width" value="foo" />
<input type="button" value="width.value" onclick="console.log(width.value)"/>
<input type="button" value="window.width.value" onclick="console.log(window.width.value)"/>
我们有一个input
,id
为 width
和两个按钮,该按钮具有一个onClick
事件,它所做的只是记录输入的值。它们之间的区别在于,一个输入直接width.value
访问输入的 id 作为变量,而另一个输入通过 window.width.value
执行此操作。
这里令人惊奇的部分是只有window.width.value
工作,另一个返回undefined
.
我查过javascript保留的关键词,但找不到关于width
的任何信息,顺便说一下,height
关键词也是一样的。
我错过了什么?
button
对象上调用 onclick
方法。 因此,除非指定需要窗口的 width
属性,否则它将被按钮对象的 width
属性遮盖。 在这种情况下,按钮的宽度没有 value
属性。