JSLintは、「定義される前に「b」が使用された」というこのコードを好みません。
var a = function () {
b();
},
b = function () {
alert("Hello, world!");
};
a();
しかし、これには完全に満足しています
var a, b;
a = function () {
b();
};
b = function () {
alert("Hello, world!");
};
a();
しかし、2番目のコードスニペットでは何も定義していません。私は単に変数bを宣言しているだけです。
では、なぜJSLintがこれを行っているのでしょうか。最初にすべての関数を宣言する必要がある理由はありますか?
PS aとbの順序を変更することもできたと思いますが、実際のプロジェクトでは、私の関数はイベントハンドラーであり、相互に呼び出すこともあるため、おそらく不可能です。