javascript的短路机制和几种数值取整的方法
程序员文章站
2022-03-28 15:38:47
1. javascript的短路机制1.1 且运算符(&&)往往用于多个表达式的求值。它的运算规则是:如果第一个运算子的布尔值为true,则返回第二个运算子的值(注意是值,不是布尔值);如果第一个运算子的布尔值为false,则直接返回第一个运算子的值,且不再对第二个运算子求值if (i) { doSomething();}// 等价于i && doSomething();1.2 或运算符(||)也用于多个表达式的求值。它的运算规则是:如果第一个运算子的布尔值...
1. javascript的短路机制
1.1 且运算符(&&)往往用于多个表达式的求值。它的运算规则是:如果第一个运算子的布尔值为true,则返回第二个运算子的值(注意是值,不是布尔值);如果第一个运算子的布尔值为false,则直接返回第一个运算子的值,且不再对第二个运算子求值
if (i) {
doSomething();
}
// 等价于
i && doSomething();
1.2 或运算符(||)也用于多个表达式的求值。它的运算规则是:如果第一个运算子的布尔值为true,则返回第一个运算子的值,且不再对第二个运算子求值;如果第一个运算子的布尔值为false,则返回第二个运算子的值。
function saveText(text) {
console.log(text);
// ...
}
// 或者写成
saveText(this.text || '', a|| "",b || '')//这里的参数可以写多个
数值的取整(JavaScript的二进制底层方法)
2.1 二进制或运算符(|)逐位比较两个运算子,两个二进制位之中只要有一个为1,就返回1,否则返回,位运算只对整数有效,遇到小数时,会将小数部分舍去,只保留整数部分。所以,将一个小数与0进行二进制或运算,等同于对该数去除小数部分,即取整数位。 用二进制否运算取整,是所有取整方法中最快的一种
//对一个小数连续进行两次二进制否运算,能达到取整效果。
~~2.9 // 2
~~47.11 // 47
~~1.9999 // 1
~~3 // 3
2.2 异或运算(^),异或运算也可以用来取整。
12.9 ^ 0 // 12
“异或运算”有一个特殊运用,连续对两个数a和b进行三次异或运算,a^=b; b^=a; a^=b;,可以互换它们的值。这意味着,使用“异或运算”可以在不引入临时变量的前提下,互换两个变量的值。
var a = 10;
var b = 99;
a ^= b, b ^= a, a ^= b;
a // 99
b // 10
2.3 左移运算符(<<)表示将一个数的二进制值向左移动指定的位数,尾部补0,即乘以2的指定次方(最高位即符号位不参与移动)
//如果左移0位,就相当于将该数值转为32位整数,等同于取整,对于正数和负数都有效。
13.5 << 0
// 13
-13.5 << 0
// -13
本文地址:https://blog.csdn.net/weixin_45356397/article/details/107564853
下一篇: jQuery50个选择器,让你得心应手