快捷搜索: 王者荣耀 脱发

逻辑运算符 (&、|、^、~)

js &、|、^和~(逻辑运算符)

“&”运算符

    “&”(位与) – 运算 27&5
第一个数的位值 第一个数的位值 运算结果 运算过程 1 0 0 1与0=0 1 0 0 1与0=0 0 1 0 0与1=0 1 0 0 1与0=0 1 1 1 1与1=1

结果为二进制00001转为10进制为1

    运用案例 判断奇偶数
var n = 3
console.log(n & 1 ? "n是奇数" : "n是偶数")

“|”运算符

    “&”(位或) – 运算 27|5
第一个数的位值 第一个数的位值 运算结果 运算过程 1 0 0 1或0=1 1 0 0 1或0=1 0 1 0 0或1=1 1 0 0 1或0=1 1 1 1 1或1=1

结果为二进制11111转为10进制为31

    运用案例 取整
var n1 = 1.79
var n2 = 30.3
var n = n1 | 0 //1
var 2 = n2 | 0 //30

“^”运算符

    “^”(位异或) – 运算 27^5
第一个数的位值 第一个数的位值 运算结果 运算过程 1 0 0 1位异或0=1 1 0 0 1位异或0=1 0 1 0 0位异或1=1 1 0 0 1位异或0=1 1 1 1 1位异或1=0

结果为二进制11110转为10进制为30

“~”运算符

    “~”(位非) – 运算 27~5
第一个数的位值 第一个数的位值 运算结果 运算过程 1 0 0 1位非0=1 1 0 0 1位非0=1 0 1 0 0位非1=1 1 0 0 1位非0=1 1 1 1 1位非1=0

结果为二进制11110转为10进制为30

    运用案例 直接取整 字符串数字取整
var n1 = 1.79
var n2 = "30.3”
var n = ~~n1 //1
var 2 = ~~n2 //30
经验分享 程序员 微信小程序 职场和发展