JDi*_*522 46 javascript jquery ternary
如果选中下拉列表中的选项,我需要返回true或false.
这是我的代码:
var active = sort.attr('selected') ? return true : return false;
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,第一个return是意外的.
为什么?
Geo*_*e K 117
您可以在javascript中从三元运算符返回,如下所示:
return sort.attr('selected') ? true : false;
Run Code Online (Sandbox Code Playgroud)
小智 45
您不能将return语句分配给变量.如果要active为其分配值,true或者false只删除returns:
var active = sort.attr('selected') ? true : false;
Run Code Online (Sandbox Code Playgroud)
或者更好:
var active = sort.prop('selected');
Run Code Online (Sandbox Code Playgroud)
因为.prop总是返回true或者false,无论初始标记属性如何.
来自文档:
语法
condition ? expr1 : expr2
参数
条件(或多个条件) 计算结果为 true 或 false 的表达式。
expr1, expr2
具有任意类型值的表达式。
你应该注意Expressions with values of any type.,这return xxx不是一个表达式。
来自维基百科:
表达式是一个语法结构,它必须格式良好:允许的运算符必须在正确的位置具有正确数量的输入,组成这些输入的字符必须有效,具有明确的操作顺序等。违反语法规则的符号不是格式良好的,也不是有效的数学表达式。
因此,根据您的情况,您可以使用:
return sort.attr('selected') ? true : false
Run Code Online (Sandbox Code Playgroud)