2012-03-10 68 views
4

比方說,我有一些JavaScript,看起來像這樣:JSLint的說,新的關鍵字缺少

function A() { 

    var MyVar, SomeParameter; 

    // do work 

    MyVar = FunctionB(SomeParameter); 

} 

的JSLint說我Missing 'new'. at the line MyVar = FunctionB(SomeParameter);

我爲什麼要改寫爲MyVar = new FunctionB(SomeParameter);是否有將是任何好處?

回答

9

它是convention構造函數(例如:Array,Object)以大寫字母開頭。

JSLint抱怨,因爲它認爲你試圖使用構造函數,沒有new關鍵字。要解決此問題,請使用非大寫字符開始您的功能。

+0

好的,所以它純粹是語義上的。感謝Rob! – frenchie 2012-03-10 21:42:49

+5

semantical是的,但我應該指出這是一個廣泛使用的約定^^ – pomeh 2012-03-10 21:50:08

5

JSLint認爲該函數是一個構造函數,因爲它是大寫的。用一個小寫字母命名你的非構造函數,JSLint將停止抱怨。