您好,
我尝试在FlashBuilder(FlexProject)中执行此操作
protected function btn_detail_view_clickHandler(event:MouseEvent):void
{
CurrentState="Statistiques" || "PartMarche";
}
但它不起作用,我想这不是正确的语法,但正确的语法是什么?感谢
PS:我希望当我点击按钮时状态等于“statistiques”或“partMarche”时,当前状态变为Detail视图;)
答案 0 :(得分:1)
在ECMAScript语言中,||
是一个短路运算符,如果它评估为“truthy”值,则返回左侧表达式结果,否则返回右侧表达式结果。非空字符串总是评估为truthy值,因此左侧表达式将始终返回此处。您的示例的等效长手代码是:
if ("Statistiques")
CurrentState = "Statistiques";
else
CurrentState = "PartMarche";
这种类型的短路运算符用于在某些情况下将变量的默认值设置为:
CurrentState = PreviousState || "Some string";
在该示例中,如果PreviousState
为null或false或为空字符串,则CurrentState
将设置为“Some string”。如果PreviousState
是类似“其他字符串”的字符串,则CurrentState
将设置为“其他字符串”。
答案 1 :(得分:1)
感谢您澄清您想要做的事情。要检查CurrentState
是什么,您需要使用if条件进行测试:
if (CurrentState == "Statistiques" || CurrentState == "PartMarche")
{
// Of course, use the actual name of your detail view here
CurrentState = "DetailView";
}
答案 2 :(得分:0)
好的,事实上我需要删除.Statistiques
,因为该代码适用于所有状态
click.Statistiques="btn_detail_view_clickHandler(event)"
抱歉,我自己走得太快,而不是完成教程。
你的回答会阻止我提出下一个问题!谢谢;)