顯示廣告
隱藏 ✕
看板 Knuckles
作者 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 
Knuckles 轉錄至看板 Knuckles_note (使用連結) 時間:2012-10-21 16:27:19
e)編輯 d)刪除 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇