2014-02-10 93 views
1

我試過的東西來檢查參數是否在函數給出與否:檢查參數定義失敗

var Patient = { 
    all : function(pagenumber){ 
     if(pagenumber == undefined){ 
      pagenumber = 1; 
     } 

var Patient = { 
    all : function(pagenumber){ 
     if(pagenumber == null){ 
      pagenumber = 1; 
     } 

但不知何故,他們沒有工作做的我是什麼錯誤?

+0

第一個應該工作,除非一些笨蛋已經在你的環境中重新定義了「undefined」。 'if(typeof pagenumber ==''undefined'){'是否工作? – Matt

+0

這應該工作:'if(!pagenumber && pagenumber!= 0){pagenumber = 1; }'。我是這樣說的,因爲有時pagenumber可以是'NaN',因爲這個變量聽起來是在處理數字。 –

+0

不知何故,當我打電話:'console.log(pagenumber);'it'retunrs o.Event' –

回答

1

嘗試

var Patient = { 
     all : function(pagenumber){ 
       if(typeof pagenumber == 'undefined'){ 
        pagenumber = 1; 
      } 
0

既然你已經使用jQuery:

var Patient = { 
    all : function(pagenumber){ 
    if ($.type(pagenumber) === 'undefined')) { 
     pagenumber = 1; 
    } 
    } 
} 

或者,簡化了(因爲你似乎並不期望一個頁面數 '0'):

var Patient = { 
    all : function(pagenumber){ 
    pagenumber = pagenumber || 1; 
    } 
} 
+1

相信jQuery答案是第一個獲得upvoted的人。這不是jQuery應該使用的東西。 – Matt

+0

我不明白爲什麼,但如果我打印出你的代碼:'console.log(pagenumber);'它retunrs o.Event –

+0

@Matt,那麼爲什麼便捷方法存在? – UweB

1

檢查var是否未定義,請使用以下內容:

var Patient = { 
    all : function(pagenumber){ 
    if(typeof pagenumber == "undefined"){ 
     pagenumber = 1; 
    } 
    } 
}