最近我調查的情況是程序員無意中傳遞undefined
到的addEventListener,從而類型:無法確定的未定義()
window.addEventListener('load', undefined);
沒有錯誤被拋出。就好像JavaScript願意調用undefined
。但是世界上什麼是undefined()
?我已經嘗試了各種各樣的東西,例如:
console.log(undefined() === null);
console.log(typeof undefined());
但我從來沒有得到任何回報。
編輯添加清晰度:我原來的問題是基於一個錯誤,因爲我沒有設置我的開發人員工具將錯誤記錄到控制檯。以上兩個命令(但不是addEventListener
的調用)會在瀏覽器中拋出錯誤,如下面的答案和註釋所示。
未定義不是一個類型,它是未定義的。 – T4rk1n
我知道'undefined'不是一個類型。我的問題是關於'undefined()'的狀態,它在JavaScript中沒有引發語法錯誤。 –
它很奇怪 - 如果你只是試圖在控制檯中調用undefined作爲一個函數,它會拋出一個錯誤,但是如果我將任何非函數作爲回調函數傳遞給'addEventListener',它只會默默地失敗,並且不會引發錯誤... –