此行在Javascript中的含义和用途-star[t][0]>;x<&书信电报;一,&;(星[t][0]-=w<;<;1,测试=!1)

此行在Javascript中的含义和用途-star[t][0]>;x<&书信电报;一,&;(星[t][0]-=w<;<;1,测试=!1),javascript,Javascript,我在以下url的标题中看到了画布动画- 一个jsfiddle是 在浏览javascript代码时,一些令人讨厌的行花了很多时间来理解它们,但仍然没有运气,只能向StackOverflow的专家咨询 管路为(管路85-90英寸)—— star[t][0]+=鼠标, 星[t][0]>x “当上面第2行和第3行的这两个比较的结果没有存储到任何变量中时,这样做的目的是什么?” 它使用&作为if的简写,因为&&运算符首先计算左侧操作数,只有在该值为真时,它才计算右侧操作数 该行: star[t][0]

我在以下url的标题中看到了画布动画-

一个jsfiddle是

在浏览javascript代码时,一些令人讨厌的行花了很多时间来理解它们,但仍然没有运气,只能向StackOverflow的专家咨询

管路为(管路85-90英寸)——

star[t][0]+=鼠标,
星[t][0]>x
“当上面第2行和第3行的这两个比较的结果没有存储到任何变量中时,这样做的目的是什么?”

它使用
&
作为
if
的简写,因为
&&
运算符首先计算左侧操作数,只有在该值为真时,它才计算右侧操作数

该行:

star[t][0] > x << 1 && (star[t][0] -= w << 1, test = !1)

star[t][0]>x这些是位运算符而不是比较器。是的,我知道按位运算符,但相比之下,我指的是&。此外,“>”和“是的,你是对的@csharplerwell,
true
布尔值不能总是
1
,但在大多数情况下它是
1
,有时它是另一个数字。@AspiringAqib
!1
总是
为false
,因为
运算符处理非布尔值。这与说
1
等于
true
不同。所以我猜这一行返回的是什么-(star[t][0]-=w star[t][0]-=w因为表达式没有被赋值或返回,所以返回值是什么并不重要。表达式只是因为设置
star[t]的副作用而执行的[0]
测试
。太好了,所有疑问现在都解决了。感谢大家,特别是@nnnnnn对此进行了调查。这就是我们在这里得到专家帮助的原因。再次感谢:)
star[t][0] > x << 1 && (star[t][0] -= w << 1, test = !1)
if (star[t][0] > x << 1) {
   star[t][0] -= w << 1, test = !1;
}