2014-09-12 94 views
-2

undefined消息是在彈出窗口或控制檯日誌中(例如,當調用一個不存在的變量時)錯誤消息或只是通知消息?在Javascript中「未定義」是錯誤還是隻是一個通知?

在PHP中有一個區別,所以,在這個問題上尋找你的解釋。

+1

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined – j08691 2014-09-12 19:48:57

+0

嚴格說來僅限於JavaScript,沒有通知。您要麼有語法錯誤,要麼有運行時錯誤。在這兩種情況下,代碼都會終止。如果您收到顯示未定義的警報,那麼這不是錯誤。 – 2014-09-12 20:05:08

回答

1

都不是,它是一個value(或值的警報的情況下,一個字串)

無論你是否可以忽視的事實是一個變量/屬性/不管是undefined取決於需求您正在編寫的程序。如果消息顯示「未定義」時顯示「sweet cuppin'蛋糕」,那麼這將是一個邏輯錯誤;相反,如果消息顯示爲未定義,但僅用於反映合理未定義的內部狀態,則這不會是錯誤。

+0

因此,如果存在或不存在,我可以忽略檢查?如果這只是一個像PHP中的通知,我會忽略它。如果這是一個錯誤,我將不得不做檢查。或者你有什麼建議? – Jospehione 2014-09-12 19:51:49

+4

您是否可以忽略變量/屬性/任何未定義的事實取決於您正在編寫的程序的需求。 – Quentin 2014-09-12 19:52:49

0

這聽起來像一個不完整的錯誤消息;就像開發人員打印出「This should never appear!11」一樣,Undefined只不過是一個值,所以單獨看它並不會給消息賦予任何意義或重要性。

0

'undefined'意思就是它所說的 - 你引用了一個未定義的變量名。

有些語言,比如Python,對這類事情更加嚴格,如果你嘗試這樣做,會引發錯誤。

Javascript假設你知道你在做什麼,所以沒有抱怨。

0

undefined是一種特殊的數據類型。例如,常見的情況是在函數調用缺少參數:

var foobar = function(val) 
{ 
    alert(typeof val); // alerts 'undefined' 
    alert(foobar.length); // throws an error 
} 

foobar(); 

這個例子中函數的作者應該檢查爲val類型試圖訪問length屬性之前。

0

undefined是,它的名字說,對某事物的跡象beeing沒有定義,像

var a=new Array(10); 

這是一個數組:Array.isArray(a)truea.length爲10;但它包含的值都是undefined值。 a[5]undefined。所以這不是錯誤。

錯誤消息或只是一個通知消息?

既沒有也沒有。

相關問題