Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:Error-";应为赋值或函数调用,但看到的却是表达式“quot;?_Javascript_Jquery_Jslint - Fatal编程技术网

JavaScript:Error-";应为赋值或函数调用,但看到的却是表达式“quot;?

JavaScript:Error-";应为赋值或函数调用,但看到的却是表达式“quot;?,javascript,jquery,jslint,Javascript,Jquery,Jslint,我正在使用以确保我的JavaScript是“严格的”,并且我得到以下错误: 应为赋值或函数调用,而不是看到表达式 关于以下代码: (my_var > 0 ) ? $("#abc").html(my_array.join('')) : $("#abc").html('<h2>Hello ' + persons_name); (我的变量>0)$(“#abc”).html(my#u array.join(“”)):$(“#abc”).html('Hello'+人名); 知道我为什

我正在使用以确保我的JavaScript是“严格的”,并且我得到以下错误:

应为赋值或函数调用,而不是看到表达式

关于以下代码:

(my_var > 0 ) ? $("#abc").html(my_array.join('')) : $("#abc").html('<h2>Hello ' + persons_name);
(我的变量>0)$(“#abc”).html(my#u array.join(“”)):$(“#abc”).html('Hello'+人名);

知道我为什么会犯这样的错误吗?此外,我正在使用上述代码中所示的jQuery,以防出现差异。

我认为这是因为三元运算符对表达式求值,并返回预期要赋值的值。例如:

var test = (my_var > 0) ? true : false;
但是,您使用它就像使用常规的if/then/else语句一样。虽然三元运算符确实执行if/then/else,但它传统上用于赋值

编辑:作为附录:这句话对你有意义吗

var foo = 1;
(my_var > 0) ? true : false;
console.log('hello world');

您正在一行中使用表达式(精确地说,表达式使用三元运算符):您的行由表达式唯一组成


在许多语言中,这被认为是糟糕的编程实践,可以使用
if
语句重写,以使这一行更加清晰。

我的猜测是,JSLint不高兴,因为您使用的是三元运算符,并且您没有对该值做任何操作。将其重构为等效的:

if (my_var > 0 ) {
  $("#abc").html(my_array.join(''));
} else {
  $("#abc").html('<h2>Hello ' + persons_name);
}
if(我的变量>0){
$(“#abc”).html(my_array.join(“”));
}否则{
$(“#abc”).html('Hello'+人名);
}
将消除错误。如果出于某种原因,您确实喜欢使用三元运算符,那么使用它的“正确”方法是:

$("#abc").html((my_var > 0) ? my_array.join('') : '<h2>Hello ' + persons_name);
$(“#abc”).html((my#var>0)?my_array.join(“”):“Hello”+人名);

出于某种原因,只是问了同一个问题,没有找到这个问题


三元函数返回一个未被使用的值,因此您通过不使用该值(即使函数调用按预期进行)滥用了三元结构。

我希望有一个轻松的选项来使用按位和作为布尔类型检查