2016-07-06 54 views
0

我如何驗證我的callBackFunction被定義爲一個與jQuery的函數?JQuery驗證如果一個var是一個函數

var callBackFunction =window['columnActive']; 
(...) 
      "fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) { 
       if ($.isFunction(callBackFunction)) { 
        alert('cheguei'); 
        columnActive(nRow, aData, iDisplayIndex, iDisplayIndexFull); 
       } 

     } 
+0

它在測試上失敗 –

+1

忽略重複中的頂部答案,[此](http://stackoverflow.com/a/6000009/519413)是正確答案 –

回答

3

你不需要的jQuery爲此,內置(和全球支持)typeof operator會告訴你:

if (typeof callBackFunction === 'function')

typeof也即使callBackFunction從來沒有定義或聲明的工作原理,而jQuery和其他人會拋出一個錯誤,如果你打電話$.isFunction(x)x從未宣佈。

+0

仍然在測試上失敗 –

+0

然後'callBackFunction '*不是*函數... – ssube

+0

聲明一個var是一個函數是這樣的:var callBackFunction = window ['columnActive'];正確? –

相關問題