我正要在这里回答一个问题,并发现我的自我挣扎似乎是一件容易理解的事情。
考虑这个HTML:输入id保留字
<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
与width
的id
并具有一个onClick
事件它是所有记录输入的值两个按钮。它们之间的不同之处在于,一个输入直接访问输入的id作为变量width.value
,另一个输入通过window.width.value
来完成。
这里令人惊叹的部分是只有window.width.value
工作,另一个返回undefined
。
我查找了javascript保留关键字,但找不到关于width
的任何内容,顺便说一句,它也与height
关键字一样。
我错过了什么?
这是关于范围。在你的'width.value'中,你正在访问按钮的width-attribute属性。在这种情况下,'width.value == this.width.value'。 –
只是想说@FrederikHansen说了些什么,基本上忘记了INPUT的属性也是如此,..就像宽度和高度。 – Keith