undefined
消息是在彈出窗口或控制檯日誌中(例如,當調用一個不存在的變量時)錯誤消息或只是通知消息?在Javascript中「未定義」是錯誤還是隻是一個通知?
在PHP中有一個區別,所以,在這個問題上尋找你的解釋。
undefined
消息是在彈出窗口或控制檯日誌中(例如,當調用一個不存在的變量時)錯誤消息或只是通知消息?在Javascript中「未定義」是錯誤還是隻是一個通知?
在PHP中有一個區別,所以,在這個問題上尋找你的解釋。
都不是,它是一個value(或值的警報的情況下,一個字串)
無論你是否可以忽視的事實是一個變量/屬性/不管是undefined
取決於需求您正在編寫的程序。如果消息顯示「未定義」時顯示「sweet cuppin'蛋糕」,那麼這將是一個邏輯錯誤;相反,如果消息顯示爲未定義,但僅用於反映合理未定義的內部狀態,則這不會是錯誤。
因此,如果存在或不存在,我可以忽略檢查?如果這只是一個像PHP中的通知,我會忽略它。如果這是一個錯誤,我將不得不做檢查。或者你有什麼建議? – Jospehione 2014-09-12 19:51:49
您是否可以忽略變量/屬性/任何未定義的事實取決於您正在編寫的程序的需求。 – Quentin 2014-09-12 19:52:49
這聽起來像一個不完整的錯誤消息;就像開發人員打印出「This should never appear!11」一樣,Undefined只不過是一個值,所以單獨看它並不會給消息賦予任何意義或重要性。
'undefined'意思就是它所說的 - 你引用了一個未定義的變量名。
有些語言,比如Python,對這類事情更加嚴格,如果你嘗試這樣做,會引發錯誤。
Javascript假設你知道你在做什麼,所以沒有抱怨。
undefined
是一種特殊的數據類型。例如,常見的情況是在函數調用缺少參數:
var foobar = function(val)
{
alert(typeof val); // alerts 'undefined'
alert(foobar.length); // throws an error
}
foobar();
這個例子中函數的作者應該檢查爲val
類型試圖訪問length
屬性之前。
undefined是,它的名字說,對某事物的跡象beeing沒有定義,像
var a=new Array(10);
這是一個數組:Array.isArray(a)
是true
,a.length
爲10;但它包含的值都是undefined
值。 a[5]
是undefined
。所以這不是錯誤。
錯誤消息或只是一個通知消息?
既沒有也沒有。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined – j08691 2014-09-12 19:48:57
嚴格說來僅限於JavaScript,沒有通知。您要麼有語法錯誤,要麼有運行時錯誤。在這兩種情況下,代碼都會終止。如果您收到顯示未定義的警報,那麼這不是錯誤。 – 2014-09-12 20:05:08