Javascript 应为赋值或函数,而应为表达式
下面是我遇到问题的一段代码。我得到了JShint“期望一个赋值或函数,而看到的是一个表达式”Javascript 应为赋值或函数,而应为表达式,javascript,Javascript,下面是我遇到问题的一段代码。我得到了JShint“期望一个赋值或函数,而看到的是一个表达式” 警告告诉您以下行可能是错误或bug: ( inputField.val() === '' ) ? inputField.prev('.cd-label').removeClass('float') : inputField.prev('.cd-label').addClass('float'); 它是一个使用的表达式,如果前面的表达式为true,则返回?后面的值,否则返回:后面的值。因此,基本上,它就
警告告诉您以下行可能是错误或bug:
( inputField.val() === '' ) ? inputField.prev('.cd-label').removeClass('float') : inputField.prev('.cd-label').addClass('float');
它是一个使用的表达式,如果前面的表达式为true,则返回?
后面的值,否则返回:
后面的值。因此,基本上,它就像一个速记if
语句,导致赋值
要删除警告,需要将其分配给如下变量:
var yourVariable = ( inputField.val() === '' ) ? inputField.prev('.cd-label').removeClass('float') : inputField.prev('.cd-label').addClass('float');
但是,对于您的情况,您可能并不真的希望将其分配给任何对象,因此您应该使用
if
语句。您应该在此处使用if
块
if( inputField.val() === '' ){
inputField.prev('.cd-label').removeClass('float');
}
else{
inputField.prev('.cd-label').addClass('float');
}
三元运算符(?:
)只能在返回值的上下文中使用。例如:
var x = condition ? 'a' : 'b';
idk,如果它是相关的,但我注意到的第一件事是额外的
)代码>在最后?
var x = condition ? 'a' : 'b';