期望一个赋值或函数,却看到了一个表达式
Expected an assignment or function and instead saw an expression
下面是我遇到问题的一段代码。我得到了JShint "期望一个赋值或函数,而不是看到一个表达式"。
function checkVal(inputField) {
( inputField.val() === '' ) ? inputField.prev('.cd-label').removeClass('float') : inputField.prev('.cd-label').addClass('float');
}
});
警告告诉您下面一行可能是错误或错误:
( inputField.val() === '' ) ? inputField.prev('.cd-label').removeClass('float') : inputField.prev('.cd-label').addClass('float');
是一个使用三元运算符的表达式,如果它之前的表达式为真,则返回?
后面的值,否则返回:
后面的值。所以基本上,它就像一个简短的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';
相关文章:
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 尝试使用Javascript正则表达式来获取“&"分隔文本,无论它是否's是最后一个值
- 正则表达式搜索一个空格,后跟一个字符
- 为什么这个正则表达式不't匹配最后一个字母数字字符
- 使用一个表达式将两个变量分配给相同的值
- 在一个表达式中加载并使用ES6模块
- 解析一个复杂的JavaScript表达式,将其改写为另一种格式
- 包含一个集合的1到3个成员但其中一个成员不能单独存在的正则表达式
- 如何使用 JavaScript 正则表达式搜索除一个实例之外的所有内容
- 匹配三个正则表达式中的任意一个,以先到的为准(在javascript中)
- Js提示:“;期望一个赋值或函数调用,而看到一个表达式“;,Switch语句
- 有人能解释一下这个错误吗:期望一个赋值或函数调用,却看到了一个表达式
- JSHint错误:期望一个赋值或函数调用,却看到一个表达式
- 期望一个赋值或函数,却看到了一个表达式
- 在Typescript中传递一个表达式作为过滤器函数的参数
- 数据库中的列表函数得到一个表达式不会计算为函数错误
- JShint:期望一个赋值或函数调用,却看到了一个表达式
- Angular Js将一个固定的ng类和同一标记中的一个表达式组合在一起
- JavaScript:应为和赋值或函数调用,但却看到了一个表达式
- 你能在NG-MODEL中使用一个表达式吗