0

他の誰かのWYSIWYGエディターコードを使用していますが、JSlintは2つのエラーがあると言っています。誰かがそれらを説明/修正するのを手伝ってくれるのだろうか。

これはコードです:http: //jsfiddle.net/sCATj/40/

JSlintが言うエラーは次のとおりです。

Error:
Problem at line 3 character 40: Expected '{' and instead saw 'return'.
if (!(array instanceof Array)) return;

Problem at line 4 character 25: Cannot set property 'first' of undefined

jqueryについては知りません。リターンの代わりに}を入れるだけでいいですか?

4

2 に答える 2

4

JSLintはLintであり、単純な構文チェッカーではありません。

すべてのステートメントがステートメントではなくブロックifに関連付けられている必要があります

これは有効なJavaScriptです。

if (foo)
    return something; 

これはより保守しやすいJavaScriptです(そしてJSLintによって要求されます):

if (foo) {
    return something;
}

主な理由は、コードを後で編集して別のステートメントを追加した場合、編集者は中括弧が欠落していることに気付かず、次のことを行う可能性があるためです。

if (foo)
    bar = foo;
    return something;

これは次と同じ結果になります:

if (foo) {
    bar = foo;
}
return something;

望ましいものではありません:

if (foo) {
    bar = foo;
    return something;
}

ショートカット(特に条件付きのショートカット(ステートメントが1つしかない場合は中括弧を省略できます))を回避することは、導入されるバグの変更を減らす防御プログラミングの形式です。

于 2012-11-01T15:59:50.927 に答える
0

if技術的には、ブロック内でステートメントが1つしかない場合は、中括弧を省略できます。

この「エラー」は無視してかまいません。

于 2012-11-01T15:57:37.660 に答える