Javascript 用于流控制而不是使用if语句的jQuery逻辑运算符

Javascript 用于流控制而不是使用if语句的jQuery逻辑运算符,javascript,jquery,Javascript,Jquery,由于某些原因,我无法使用简洁的流控制语法来处理jQuery。以下内容引发了一个错误: $(this).hasClass('expanded') && return 鉴于此较长的版本可以正常工作: if ($(this).hasClass('expanded')) { return} 你知道为什么第一个会抛出错误吗?我想你可以省去提示{}: if($(this).hasClass('expanded')) return; 我想你可以省去提那些{}: if($(this).ha

由于某些原因,我无法使用简洁的流控制语法来处理jQuery。以下内容引发了一个错误:

$(this).hasClass('expanded') && return
鉴于此较长的版本可以正常工作:

if ($(this).hasClass('expanded')) { return}

你知道为什么第一个会抛出错误吗?

我想你可以省去提示
{}

if($(this).hasClass('expanded')) return;

我想你可以省去提那些
{}

if($(this).hasClass('expanded')) return;

不能像这样将逻辑AND与
return
语句一起使用。然而,我看不出你为什么要这样做。您可以直接从函数返回布尔结果

return $(this).hasClass('expanded');

不能像这样将逻辑AND与
return
语句一起使用。然而,我看不出你为什么要这样做。您可以直接从函数返回布尔结果

return $(this).hasClass('expanded');

布尔逻辑运算符的每个部分都必须求值为某个值。我不能那样做


实际上,我以前没有想过这样使用它,我会想不到它也会起作用。

布尔逻辑运算符的每个部分都必须求值。我不能那样做


实际上,我以前没有想过这样使用它,我会想不到它也会起作用。

这两条线非常不同,我个人从未见过第一条。这两条线非常不同,就我个人而言,我从来没有见过第一个。我对返回结果不感兴趣,我只希望块中的其余代码在条件为真时不执行。我试过这个,但它对我不起作用,但无论如何,谢谢你的回答,我想我不能像你一样使用return这个语法say@techjacker字体好吧,要么你的例子选得不好,要么我不明白。问题是,ECMAscript中的每个函数都返回一个值。如果未指定,则返回
未定义的值。因此,检查布尔表达式是否调用
return
没有任何意义。我对返回结果不感兴趣,我只希望如果条件为真,块中的其余代码不要执行。我试过这个,但它对我不起作用,但无论如何,谢谢你的回答,我想我不能像你一样使用return这个语法say@techjacker字体好吧,要么你的例子选得不好,要么我不明白。问题是,ECMAscript中的每个函数都返回一个值。如果未指定,则返回
未定义的值。因此,检查布尔表达式是否调用
return
没有任何意义。多谢它节省了一点键入时间,实际上,如果($(this.hasClass('expanded'))return删除末尾的分号,它可以变得更短多谢它节省了一点键入时间,实际上,如果($(this).hasClass('expanded')返回,则可以通过删除结尾处的分号来缩短它