我試圖做到這一點:爲什麼我不能測試未定義的變量
var currentpage = page ? page : null;
然而,如果頁面還沒有定義,該腳本將引發錯誤。即使我測試頁面未定義,只要腳本查找頁面錯誤。
爲什麼以及圍繞此問題的方法是什麼?
更新:使代碼示例更清晰;
我試圖做到這一點:爲什麼我不能測試未定義的變量
var currentpage = page ? page : null;
然而,如果頁面還沒有定義,該腳本將引發錯誤。即使我測試頁面未定義,只要腳本查找頁面錯誤。
爲什麼以及圍繞此問題的方法是什麼?
更新:使代碼示例更清晰;
試圖讀取未聲明的變量只會拋出一個ReferenceError
並終止腳本。
> x123
ReferenceError: x123 is not defined
更好的問題是,爲什麼你不知道你的變量是否存在。在正常情況下,這通常意味着你在做某事不好的。爲什麼你需要檢查這種情況?當然,我們可以提出更好的方法。
必須使用var page
或作爲函數參數function (page)
地方已定義的變量。如果您在同一範圍內的任何位置執行此操作,則該變量將被聲明並存在,即使它沒有值。如果你正在嘗試使用一些甚至沒有在同一個範圍內聲明的變量,那就錯了,因爲它在任何情況下都無法工作,並且Javascript完全正確地拋出一個錯誤。
各地的另一種方式是這樣的,即使你的var a
是不確定的東西都不會被執行,那是你的腳本將不會停止執行
if(window.a){
alert('hello');
} else {
alert('this else will fire');
}
可以張貼高於此的代碼行線頁面? 'page ='+ page:'' – defau1t