Javascript 应为赋值或函数,而应为表达式

Javascript 应为赋值或函数,而应为表达式,javascript,Javascript,下面是我遇到问题的一段代码。我得到了JShint“期望一个赋值或函数,而看到的是一个表达式” 警告告诉您以下行可能是错误或bug: ( inputField.val() === '' ) ? inputField.prev('.cd-label').removeClass('float') : inputField.prev('.cd-label').addClass('float'); 它是一个使用的表达式,如果前面的表达式为true,则返回?后面的值,否则返回:后面的值。因此,基本上,它就

下面是我遇到问题的一段代码。我得到了JShint“期望一个赋值或函数,而看到的是一个表达式”


警告告诉您以下行可能是错误或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';