既然你是初學者,我會指出一些基本事實,這些事實可能會幫助你理解你正在觀察的內容。
JavaScript是弱類型在JavaScript
對象做有類型,但變量不是類型的,即,任何變量可以採取任何類型的任何對象。類型轉換不是必需的,也不可能(並且實際上線路(HTMLSpanElement) document.getElementById('lblMsg')
是語法錯誤)。
HTML元素類型
HTMLSpanElement
是一種類型。那麼,不是真的。它是一個DOM接口,爲方便起見,它被所有現代瀏覽器視爲本地對象類型。大多數HTML元素都有其主界面的類型。
接口的意義在於向所有實現公開一組方法,屬性或事件。您已擁有HTMLSpanElement
的MDN鏈接:https://developer.mozilla.org/en-US/docs/Web/API/HTMLSpanElement。
測試的類型
要測試對象是否是一個特定類型的實例,我們可以使用obj instanceof Type
。在這種情況下:
if (document.getElementById('lblMsg') instanceof HTMLSpanElement)
{
...
}
類型繼承總是很榮幸。
document.getElementById('lblMsg') instanceof Object // true
獲取對象的類型
爲了得到一個HTML元素的類型,我們用element.constructor
,如
document.getElementById('lblMsg').constructor
如果您在瀏覽器控制檯中輸入這個,你會看到像
`function HTMLSpanElement() { [native code] }`
不要 驚奇。對象類型是JavaScript中的函數。如果我們在這個對象的類型的名稱只是有興趣,我們可以使用
document.getElementById('lblMsg').constructor.name
其產生串"HTMLSpanElement"
確定物體的類型的這種方法是不是100%萬無一失,但它適用於所有內建對象。
https://developer.mozilla。org/en-US/docs/Web/API/HTMLSpanElement – Teemu