2
有人可以解釋爲什麼我在創建不同的元素時會得到不同的類型嗎?用`createElement`創建`object`標記返回一個函數而不是對象
typeof document.createElement('div')
"object"
typeof document.createElement('span')
"object"
typeof document.createElement('embed')
"function"
typeof document.createElement('object')
"function"
這些是在Firefox:
$ firefox --version
(process:9436): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Mozilla Firefox 32.0.3
因爲它們是可調用的,和/或由於錯誤和/或向後兼容性。詳細信息:https://bugzilla.mozilla.org/show_bug.cgi?id = 268945 – Shai 2014-10-27 17:01:55
Chrome和IE都會返回'object'。 – Sampson 2014-10-27 17:02:42
我不會相信規範中沒有特別描述的對象上的ECMAScript操作符/方法。我寧願使用主機對象在其各自規範中提供的數據,如檢查'.nodeType'屬性。 – 2014-10-27 17:07:55