私はJavaScriptを学んでいますが、昨日私は基本的な知識を改めるべきだと思うので、私は「機能」のトピックを選択しました。決して使用されない関数を定義すると、どのような欠点がありますか?
注:私はMozillaからこの文書を読んだとき、私はこれを見たのSpiderMonkey含まないいくつかのJavaScriptエンジンは、誤っ関数定義として名を持つ任意の関数式を扱います。これにより、always-falseのif条件でも、
zero
が定義されます。それは安全な方法が、それはこの方法があるわけだを言ったので
if (0) {
var zero = function() {
document.writeln("This is zero.");
}
}
だから私の質問は、次のとおりです。条件付きで関数を定義するためのより安全な方法は、匿名関数を定義し、それを変数に割り当てることです安全ではありません:どのような問題がありますか?
ありがとうございます。
ここには何も間違ったことはありませんが、この回答は 'var'スコープに関連していて、SpiderMonkeyが関数式を宣言として誤って誤って解釈しているわけではありません。 –
@DanPrinceそうではありません。関数の宣言がどのように持ち上がるかについての情報を追加したので、定義済みの値は「ゼロ」になります。 –
私はホイスト文書をチェックし、その変数はスコープの先頭に宣言することができます。役に立つリンクのために@MikeCに感謝します。 –