我想在此代码中更新_third.data [“#ID”]的值。在将此文件存储在this.ID中时,我想用_third.data [“#ID”]添加内容
我想做的是:
this.ID = "myvalue" + _third.data["#ID"];
但在输出中我得到myvalueundefined但是如果我从代码中删除“myvalue”它工作正常并给我正确的值请帮助我,我对actionscript的了解并不是那么多我刚刚从互联网上学到了一些。 / p>
以下是编码:
public function main(_first:String, _second:Array, _third:SharedObject):Object{
this.ID = _third.data["#ID"];
};
我想做的是:
public function main(_first:String, _second:Array, _third:SharedObject):Object{
this.ID = "myvalue" + _third.data["#ID"];
};
答案 0 :(得分:1)
使用您的代码,我创建了以下测试用例。它与您的代码执行相同操作,并输出预期值。
package kazo
{
import flash.net.SharedObject;
/**
* ...
* @author KM
*/
public class TestCases
{
private var ID :String = null;
public function TestCases() { }
/**
* Start the test case
*/
public function start():void {
trace('Starting test case');
var SO:SharedObject = SharedObject.getLocal('TestCases');
if (!SO.data["#ID"]) {
trace('SO data not found, creating');
SO.data["#ID"] = '123';
SO.flush();
}
getID(SO);
}
/**
*
* @param _SO
*/
public function getID(_SO:SharedObject):void {
this.ID = "myvalue" + _SO.data["#ID"];
// trace = myvalue123
trace(this.ID);
}
}
}
迹:
(fcsh)Build succeeded
Done(0)
[Starting debug session with FDB]
Starting test case
myvalue123
如果您仍然遇到问题,我建议您尝试调用toString()上的值,以便:
this.ID = "myvalue" + _SO.data["#ID"].toString();
如果仍然不起作用,请将其存储在两个单独的String变量中,然后将它们组合起来。