■吉里吉里/KAG/TJS雑談質問スレ■その17at GAMEDEV
■吉里吉里/KAG/TJS雑談質問スレ■その17 - 暇つぶし2ch77:名前は開発中のものです。
09/02/20 02:49:11 MGg1emBt
いろいろと根本的に間違えてるな
キーワードは「参照」。TJS の変数はオブジェクトはすべて参照扱いになる。

>>70

hoge_back <-> hoge

してたら入れ替わるのは当然の話

>>72

hoge_back = hoge;

これをやると、hoge_back は hoge と全く同じものを指すようになる。
hoge_back.aaa と hoge.aaa は物理的に同じものになって、
もともと hoge_back の中に入ってたものはゴミになる。
C言語のように中身を代入してくれるわけじゃない。

その中の関数の参照を var func = hoge_back.Test; といった形で
あらかじめ抜き出しておいた場合、その function 自体が元のオブジェクト(hoge_backだったもの)
の参照を this として保持したままになってるので、その中で aaa を参照すると、
もとの hoge_back.aaa だったものが参照される。だからその挙動で正しい。

やらないといけないことは

hoge_back.aaa = hoge.aaa

のように、必要なメンバを全部コピーしなおす作業。
手間だがそれ以外の方法はない。全部書くべし。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch