我设置了一个布尔值:
austria_clicked = false;
我想访问此值并通过eval函数更改它,因为国家/地区名称将在“for”循环中更改。
eval( country + "_clicked") = true;
但这不起作用,它给了我这个编译错误:
Symbol=Interactive map, layer=actions_mouse, frame=1, Line 63 Left side of assignment operator must be variable or property.
有什么想法吗?
答案 0 :(得分:0)
尝试使用阵列访问运算符[]
:
this[country + "_clicked"] = true;
还有其他一些替代方案(显然是Flash 4的旧方法):
set(country + "_clicked", true);
或者,不要在赋值运算符(eval()
)的左侧使用=
,这可能是出于安全原因添加的:
var foo = eval(country + "_clicked"); // eval() is used on the right!
foo = true;
我从未在AS2中编程(仅限AS3),所以希望这有帮助。在这个blog post中解释得非常好。