Javascript expression console.log(1&3)背后的数学运算;
我目前正在使用angularjs,这里有一段代码。我不明白,它会返回什么Javascript expression console.log(1&3)背后的数学运算;,javascript,angularjs,Javascript,Angularjs,我目前正在使用angularjs,这里有一段代码。我不明白,它会返回什么 authorize: function(accessLevel, role) { if(role === undefined) { role = Session.role; } return accessLevel.bitMask & role.bitMask; }, 一些测试 console.log(1&am
authorize: function(accessLevel, role) {
if(role === undefined) {
role = Session.role;
}
return accessLevel.bitMask & role.bitMask;
},
一些测试
console.log(1&2); //0
console.log(3&7); //3
console.log(5&11); //1
console.log(0.5&11); //0
有人知道吗
编辑:很抱歉,这个问题已经被问到了。但是,由于我不知道关键字按位排列,或者在我的预搜索中找不到与前面主题关键字匹配的关键字,因此我在此感谢您的回答 简单地说,
&
是一种操作。返回
表达式正在检查角色
中的位是否与访问级别
中的位“jive”(即此角色是否已授权?)
要添加一些细节,让我们看看这一行:
console.log(3&7); //3
在比特兰德,我们有:
3: 00000011
7: 00000111
===========
&: 00000011 = 3
对两个字节进行逐位和操作的结果是通过和根据以下规则对每个位列进行排序得出的:
0 & 0 => 0
0 & 1 => 0
1 & 0 => 0
1 & 1 => 1
如果您认为每个0
都是false
,每个1
都是true
,那么它就很有意义了。有关这方面的更多信息,请参阅上的维基百科文章
在每个位位置返回一个1,其中
两个操作数都是1