dev*_*per 1 actionscript actionscript-3
我想通过值将对象传递给函数,以便我可以对该对象进行修改.我不希望更新原始对象.但是,所有函数参数都通过引用传递.
我试图复制一个对象(var new_object:Object = original_object;)这只是创建一个指针original_object.
有没有办法可以按值传递参数?
更新一个解决方法我看到的是通过使对象的深拷贝ByteArray如这里所描述.不确定它的效率如何.也许那里有更好的解决方案.
在将对象传递给函数之前,您必须复制该对象:
public function copy(value:Object):Object
{
var buffer:ByteArray = new ByteArray();
buffer.writeObject(value);
buffer.position = 0;
var result:Object = buffer.readObject();
return result;
}
public function testFunction(obj:Object):void
{
//do something with obj
}
public function test():void
{
var obj:Object = {};
testFunction(copy(obj));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
393 次 |
| 最近记录: |