JavaScript - 関数内の外部変数を変更する方法
给我你的怀抱
给我你的怀抱 2017-06-28 09:26:51
0
7
1077

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

リーリー

質問は解決しました

给我你的怀抱
给我你的怀抱

全員に返信(7)
学霸

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

リーリー
いいねを押す +0
洪涛

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

リーリー

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

リーリー

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

いいねを押す +0
阿神

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

いいねを押す +0
扔个三星炸死你

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

いいねを押す +0
滿天的星座

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

リーリー
いいねを押す +0
巴扎黑

リーリー

いいねを押す +0
習慣沉默

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

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート