2011-11-12 7 views
2

JSHintは、メソッドが使用される前に定義されていないと認識されないことを伝えています。Javascriptで関数またはメソッドを宣言することは可能ですか?

すべてのメソッドを順番に並べ替えることができますが、メソッドを「前方に宣言する」ことで警告を破棄する方法があることを期待しています。

正しい名前が何であるかわかりませんが、私は通訳者に、これらの機能がコード内にさらに存在することを知りたいと思います。ここ

全レポート - http://www.jshint.com/reports/67008

おかげ

+0

いいえ、これらの機能がコンテキスト* - に存在しないため再配置できない*。 "大きな画像"を提供することを考慮してください:) –

答えて

4

私は通訳が、これらの機能は、コード内のダウンにさらに存在することを知ってほしいです。

は、これらの機能がコード内にさらに存在することを認識しています。コードは問題なく実行する必要があります。それが好きではないのはjshintだけです。

有用な意味のある順序で関数を宣言するのに間違いはありません。例えば、関連する関数を互いに近く宣言するのは普通です(そして参考になります)。個人的には、後で宣言される他の関数を必然的に呼び出すとしても、スクリプトの先頭にページ初期化型関数を宣言すると便利です。

コードに何らかの「宣言前宣言」を導入したのであれば、コードを読んだり保守したりするのが難しくなると思います。なぜなら、明らかに事前宣言を実際の宣言と一致させる必要があるからです宣言はコード内でははるかに離れていても宣言します。次週に戻って機能を変更するときは、コードの両方の部分を更新する必要があります。つまり、不一致やバグが発生する可能性が高くなります。

ので、jshintのポイントはあなたのコードよりが信頼できるようにすることですことを考えると、確かにあなたはちょうどそれが内のコード少ないが信頼するだろうにもかかわらずjshint渡すためにいくつかの人工的な構造物を追加する必要はありませんロングラン?

警告を避けるために考慮する必要があるのは機能の並べ替えだけですが、私の意見では、この場合は警告を無視する方がよいでしょう。 (警告をオフにするオプションはありますか?)

+0

私は正しい答えはちょうどそれらを再注文することだと思う...これは私がしたものです。 –

0

私はあなたがすることができるすべては他の問題につながる、undef:false設定されていると思います。

関数を含むファイルがそれらを呼び出すコードの前に読み込まれるという前提で、関数を無視、再構成、または実行する必要があります。

関連する問題