2013-04-27 87 views
0

我正在嘗試使用JSLint評估匿名JavaScript函數。但是,JSLint無法評估它,因爲該函數缺少名稱。我可以設置什麼選項來允許JSLint忽略該錯誤?JSLint - 忽略缺少的函數名稱

是這樣的:

function(test) { 
    return; 
} 

結果:

Missing name in function statement. 
function(test) { 

EDIT:澄清,匿名函數將被用來作爲CouchDB的一個視圖。我想確保在它碰到數據庫之前語法是正確的。

+1

它不只是一個JSLint的問題。這是一個SyntaxError,所以你的代碼根本不會運行。如果你想在原地調用它,請執行'(function(test){return;})()',儘管我沒有看到這一點。如果你不打算調用它,那麼匿名函數沒有意義。 – 2013-04-27 00:54:01

+0

它確實有一點 - 該查詢將用作CouchDB的映射函數。我想在命中數據庫之前評估函數的語法。 – TheDude 2013-04-27 00:58:54

+0

所以你說這不是在程序中,但你只是想用jsLint來驗證它?如果是這樣,那麼爲什麼不給它一個名稱或將其分配給一個變量?你不能指望一個驗證者對它只能看到的破解代碼視而不見。 – 2013-04-27 01:01:35

回答

1

你可以做一個JavaScript函數非匿名使用下列方法之一:

  1. 給這個函數的名稱:

    function myFunction(test) { 
        return; 
    } 
    
  2. 分配功能給一個變量:

    var myFunction = function(test) { 
        return; 
    } 
    
  3. 事實上,你可以結合這兩種方法,但我不建議:

    var myFunction = function myFunction(test) { 
        return; 
    } 
    
+0

對於CouchDB,我假設第一個是唯一有效的解決方案,因爲當函數被(有效)分配給一個變量時。 – 2017-02-15 04:05:51