検索

ホームページ  >  に質問  >  本文

JavaScript関数

リーリー

上記のコードが 1 を出力するのはなぜですか;

foo() が実行されると、これが出力されます。これはウィンドウ オブジェクトです。foo() の getName はグローバル関数式になりますか? 次の var getName も関数式です。なぜ出力されますか? 結果は 1;

foo を実行すると、次のコードと同等になりますか?

リーリー
给我你的怀抱给我你的怀抱2713日前754

全員に返信(6)返信します

  • 高洛峰

    高洛峰2017-06-26 10:55:22

    Fooが呼び出されないとき

    リーリー

    Foo()を呼び出すとき

    リーリー

    呼び出し後、Foo の return this は window を指すため、最終結果は 1 になります。

    返事
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-26 10:55:22

    リーリー

    返事
    0
  • 黄舟

    黄舟2017-06-26 10:55:22

    Foo().getName(); Foo で getName を実行します

    返事
    0
  • 阿神

    阿神2017-06-26 10:55:22

    リーリー リーリー

    返事
    0
  • 代言

    代言2017-06-26 10:55:22

    console.log(Foo()) を確認してください。本当に window ですか?

    返事
    0
  • ringa_lee

    ringa_lee2017-06-26 10:55:22

    Foo 関数の getName は var で宣言されていないため、グローバルであるため、Foo が実行されると、関数内の getName 関数が外部で定義された getName 関数を上書きします

    返事
    0
  • キャンセル返事