2012-03-01 74 views
7

的JSLint保持每當定義2個功能給我下面的錯誤:在line __ _人物JSLint的錯誤 「意外VAR」

問題:意外的 '變種'。

我試過在腳本開頭聲明所有的變量,但是這並不能解決問題。試圖通過網絡挖掘的答案,但似乎無法找到一個。

var walk = function walker(node, func) { 
    //code 
} 

var disp= function display(){ 
    //code 
    return d; 
} 
+2

JSLint可能會抱怨丟失的'分號' – xandercoded 2012-03-01 23:07:13

+0

當您將它放在一個變量中時,您不需要添加函數名稱。該變量作爲它的名字。 – Joseph 2012-03-01 23:08:09

+1

JSHint告訴你 - http://www.jshint.com/reports/215010 – sransara 2012-03-01 23:10:48

回答

6

嘗試聲明它們是這樣的:

var walker = function (node, func) { 
    //code 
}; 
var display = function() { 
    //code 
    return d; 
}; 

的問題:

var walk = function walker(node, func) { 
    //code 
}; 

是JSLint的預計walk被指定一項功能或函數的結果。如果你想給變量賦一個函數,變量名就成爲該函數的別名。爲了讓JSLint高興,它應該是一個匿名函數。

+0

也許,但問題是如何讓JSLint滿意。修改後的語言回答。 – pete 2012-03-01 23:15:27

1

試試這個:

var walk = function(node, func) { 
    //code 
}; 

var disp = function(){ 
    //code 
    return d; 
}; 

在JavaScript中,你的功能與您在任務的左側使用名稱的變量。

+0

@Xander但是,聲明命名函數並不會導致函數對象被返回,因此將它放在賦值的右側不會起作用。 – dragon 2012-03-01 23:20:22

2

您在第一次聲明後忘了分號。

+0

對不起,實際的代碼在第一次聲明後確實有分號 - 在複製時錯過了 – user1243918 2012-03-01 23:17:05

+2

@ user1243918也許您會編輯您的問題以反映該問題?這裏似乎有些困惑,關於實際問題是什麼。 – 2012-03-01 23:33:36