1

tempObj = obj を実行すると、オブジェクトと一時オブジェクトができました

tempObj の内容を変更すると、変更が obj に影響します。これを停止する方法はありますか? よろしくマーク

4

2 に答える 2

2

これは、多くの言語で標準的な動作です。tempObj = obj を実行すると、複製オブジェクトは作成されません。同じオブジェクトへの別の参照を作成しています。

私はあなたがこの振る舞いを変えることができるとは思わないし、確かにそうすべきではないと思う:)

必要なのは、元のオブジェクトの複製である別のオブジェクトを作成することです。そのための関数を実装できます。多分これは http://blog.comtaste.com/2007/10/improving_object_copy.htmlを助けることができます

幸運を!

于 2009-05-26T15:28:15.497 に答える
1

あなたがしているのは、オリジナルのコピーではなく、オリジナルのオブジェクトへの参照を作成することです。オブジェクトのディープ コピーを作成する必要があります。誰かがすでにそうする手順を書いているようです...

http://www.as3dp.com/2008/09/23/actionscript-30-clone-a-prelude-to-the-prototype-design-pattern/

お役に立てれば

于 2009-05-27T03:16:32.370 に答える