検索

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

JavaScript - 関数内の外部変数を変更する方法

タイトルの通り、コードは次のとおりです。

リーリー

質問は解決しました

给我你的怀抱给我你的怀抱2763日前1068

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

  • 欧阳克

    欧阳克2017-06-28 09:28:51

    上記の書き方は、test的值当成参数,传进去了fn2里面而已,fn2里面的参数t仅仅只是和testの値を同じにするだけです。
    関数内で外部変数を変更したい場合は、次のように記述できます。

    リーリー

    返事
    0
  • PHP中文网

    PHP中文网2017-06-28 09:28:51

    質問者は「外部変数の変更方法」に既に回答しています...

    リーリー

    パラメータt当然不是指向test了,因为testはプリミティブ型であり、プリミティブ型は値が渡されます。つまり、値のコピーのみが相手の変数に渡されますが、参照型は参照(共有)渡されます。参照型が指されている オブジェクトポインタを渡すとき、相手の変数を変更すると、同じメモリアドレス、同じオブジェクトを指しているため、そのポインタのコピーが相手の変数に渡されます。

    リーリー

    参照(共有)受け渡し値受け渡しの一種と言えますが、渡される値はかなり特殊で、ポインタです。

    返事
    0
  • 阿神

    阿神2017-06-28 09:28:51

    JavaScript 関数はすべて、参照ではなく値によって渡されます。値が同じであることを除いて、t と test の間には何の関係もありません。

    返事
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-28 09:28:51

    値を渡す必要はなく、直接変更するだけです

    返事
    0
  • 滿天的星座

    滿天的星座2017-06-28 09:28:51

    js での値の受け渡しと参照の受け渡しについて詳しく学習してください。
    このように記述する必要がある場合は、テスト変数をオブジェクトにカプセル化し、そのオブジェクトをこの関数に渡して変更することができます。

    リーリー

    返事
    0
  • 巴扎黑

    巴扎黑2017-06-28 09:28:51

    リーリー

    返事
    0
  • 習慣沉默

    習慣沉默2017-06-28 09:28:51

    JavaScript の基本的な型にはポインターも参照もありません。したがって、これが唯一のトリックです。

    リーリー

    返事
    0
  • キャンセル返事