看板 Knuckles
作者 標題 [JS] 避免出現變數 is not defined
時間 2012年10月21日 Sun. AM 02:33:22
要檢查一個變數的值時,如果該變數不存在
瀏覽器會跳出錯誤訊息來,例如
if(x) alert('x is true'); // x 不存在
ReferenceError: x is not defined
要避免跳出錯誤訊息,必需寫成
if(typeof(x)!='undefined' && x) alert('x is true');
另一個方法是寫成物件的成員就會不有錯誤訊息了
if(window.x) alert('x is true'); //x不存在也不會有錯誤訊息
如果要檢查是否存在一個變數x,若x不存在就設一個預設值1給他
if(typeof(x)=='undefined') var x = 1;
或是 if(!window.x) var x = 1;
或是 !window.x && (var x = 1); //Short-Circuit Operators
如果要取得一個變數x的值,若x不存在就設為預設值1的話
if(typeof(x)!='undefined') var a = x;
else var a = 1;
可以簡寫為 var a = (typeof(x)!='undefined') ? x : 1;
或是 var a = (window.x) ? x : 1;
或是 var a = window.x || 1; //Short-Circuit Operators
--
※ 作者: Knuckles 時間: 2012-10-21 02:33:22
※ 編輯: Knuckles 時間: 2012-10-21 02:34:14
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 564
回列表(←)
分享