在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
:第5个按钮(通常为“浏览器前进”按钮)16
事件中得到了什么呢?整数值
现在来看您的共享代码片段。如果(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
:第5个按钮(通常为“浏览器前进”按钮)16
事件中得到了什么呢?整数值
现在来看您的共享代码片段。如果(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也许这应该是一个答案?