我正要在這裏回答一個問題,並發現我的自我掙扎似乎是一件容易理解的事情。
考慮這個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