17

次のコードがあります。

if (typeof console === "object" && typeof console.error === "function") {
    function e(msg) {"use strict"; console.info(msg);}
}

どのjsLintが次のエラーを出すか:

関数ステートメントはブロック内に配置しないでください。関数式を使用するか、ステートメントを外側の関数の先頭に移動してください。

このエラーが発生する理由とその意味を教えてください。

4

2 に答える 2

11

ifブロック内に関数を作成しないでください。あなたはやったほうがはるかに良いです:

var e = function(){};

if(typeof console === "object" && typeof console.error === "function"){
    e = function (msg){ ... };
}
于 2013-01-20T17:25:02.540 に答える