关于一点老司机的js写法

//取整
parseInt(a,10); //Before 1.23|0  = 1
Math.floor(a); //Before 1.23|0  = 1
a>>0; //Before 1.23|0  = 1
~~a; //After 1.23|0  = 1
a|0; //After   1.23|0  = 1

// 取半
a>>1   // 4>>1 = 2


// 判断奇偶
num & 1   // 3&1=1; 2&1=0;

// 交换两个数字的值 ^=
var num1 = 1, num2 = 2;
num1 ^= num2
num2 ^= num1
num1 ^= num2
使用数组
num1 = [num2, num2 = num1][0]


// 字符串转数字
+num                 // +'2'  2

//四舍五入
Math.round(a); //Before
a+.5|0; //After

//内置值
undefined; //Before
void 0; //After, 快
0[0]; //After, 略慢

//内置值
Infinity;
1/0;

//布尔值短写法
true; //Before
!0; //After

//布尔值短写法
false; //Before
!1; //After

其中
<< 类似于几次方 并取下
3.4 ** 1= 3.4
3.4 << 0 = 3;   //几次方+1这么理解比较好理解
所以可以 2 <<1  = 4   2<<2 =8  2<<3 =16

类似的 >> 就是几次幂了,也是去下
4 >> 1 = 2         16>>2 =8    16>>3 = 2

你可能感兴趣的:(关于一点老司机的js写法)