JSLintを介して実行すると、javascriptが私に怒鳴りますが、その理由はわかりません。
/*jslint browser: true, devel: true, evil: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, newcap: true, immed: true */
var foo = function() {
try {
console.log('foo');
} catch(e) {
alert(e);
}
try {
console.log('bar');
} catch(e) {
alert(e);
}
};
foo();
それは私に言います:
12 行目の文字 11 の問題: 'e' は既に定義されています。
} catch(e) {
私が秒を持っていることに動揺しているようcatch(e)
です。なぜこれが問題になるのでしょうか?catch ブロック内のローカル変数に単に e を設定していませんか? 関数内でトラップされたすべてのエラーに対して、ローカル変数に一意の名前を付ける必要がありますか?