Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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中,按位and(&;1)的用法是什么?_Javascript - Fatal编程技术网

在javascript中,按位and(&;1)的用法是什么?

在javascript中,按位and(&;1)的用法是什么?,javascript,Javascript,从这里开始 功能注释按下(事件){ 如果(事件按钮和1){ 让dataset=event.target.dataset; 如果(!dataset[“按下”]){ 设倍频程=+数据集[“倍频程]; oscList[octave][dataset[“note”]=playTone(dataset[“frequency”]); 数据集[“按下”]=“是”; } } } event.buttons&1的用途是什么?为什么要使用按位AND?此处事件。按钮返回一个整数值,表示按下的鼠标按钮。根据它的返回-

从这里开始

功能注释按下(事件){
如果(事件按钮和1){
让dataset=event.target.dataset;
如果(!dataset[“按下”]){
设倍频程=+数据集[“倍频程];
oscList[octave][dataset[“note”]=playTone(dataset[“frequency”]);
数据集[“按下”]=“是”;
}
}
}

event.buttons&1
的用途是什么?为什么要使用按位AND?

此处
事件。按钮
返回一个整数值,表示按下的鼠标按钮。根据它的返回-

  • 0
    :无按钮或未初始化
  • 1
    :主按钮(通常为左按钮)
  • 2
    :辅助按钮(通常是右按钮)
  • 4
    :辅助按钮(通常是鼠标滚轮按钮或中间按钮)
  • 8
    :第四个按钮(通常是“浏览器后退”按钮)
  • 16
    :第5个按钮(通常为“浏览器前进”按钮)
那么,最终我们从这个
事件中得到了什么呢?整数值

现在来看您的共享代码片段。如果(event.buttons&1)
这一行是什么意思?让我们来检查一些示例,
&1
对32位整数有什么作用

0&1=>0
1 & 1 => 1
2 & 1 => 0
3 & 1 => 1
23 & 1 => 1
46 & 1 => 0
因此,如果我们对任何32位整数执行
&1
,那么对于偶数它返回
0
,对于奇数它返回
1
。通过使用按位和1运算,我们可以很容易地检测任何奇数/偶数

现在你知道
0
是一个错误的值,所以如果我们从语句中得到
0
,那么
if
条件永远不会通过。因此,
if(event.buttons&1)
检查
event.buttons
是否给出一个奇数,然后执行
if
块,否则不执行


我希望我能清除它。

此处
事件。按钮
返回一个整数值,表示按下的鼠标按钮。根据它的返回-

  • 0
    :无按钮或未初始化
  • 1
    :主按钮(通常为左按钮)
  • 2
    :辅助按钮(通常是右按钮)
  • 4
    :辅助按钮(通常是鼠标滚轮按钮或中间按钮)
  • 8
    :第四个按钮(通常是“浏览器后退”按钮)
  • 16
    :第5个按钮(通常为“浏览器前进”按钮)
那么,最终我们从这个
事件中得到了什么呢?整数值

现在来看您的共享代码片段。如果(event.buttons&1)
这一行是什么意思?让我们来检查一些示例,
&1
对32位整数有什么作用

0&1=>0
1 & 1 => 1
2 & 1 => 0
3 & 1 => 1
23 & 1 => 1
46 & 1 => 0
因此,如果我们对任何32位整数执行
&1
,那么对于偶数它返回
0
,对于奇数它返回
1
。通过使用按位和1运算,我们可以很容易地检测任何奇数/偶数

现在你知道
0
是一个错误的值,所以如果我们从语句中得到
0
,那么
if
条件永远不会通过。因此,
if(event.buttons&1)
检查
event.buttons
是否给出一个奇数,然后执行
if
块,否则不执行


我希望我能把它弄清楚。

“为什么要使用位AND?”-因为
event.buttons
是一个整数值。这是一种语法简洁的方法来检查
事件。按钮
包含位
1
——因为它是一个标志(位域)整数,也可以是
3
(按钮1和2),2(仅按钮2),等等。@dai也许这应该是一个答案?“为什么要使用位呢?”——因为
事件。按钮
是一个整数值。这是一种语法简洁的方法来检查
事件。按钮
包含位
1
——因为它是一个标志(位域)整数,也可以是
3
(按钮1和2),2(仅按钮2)等@dai也许这应该是一个答案?