%取余数:
js的取余号有一个bug: 负数的余数
js的做法: j-1 % 7 === - (1 % 7)
正确结果 : 应该是 6%7
++a, 和a++ 的区别
在于表达式的值不同, 只在for循环中使用i++, , 为了让我的同事更加好懂.
+号和 - 号
-
+a 是求值, 而-a 取相反数
-
字符串只支持
+号的运算. js这个傻逼语言会自动将数字转字符串
== 和 ===的区别
-
模糊相等== , 全等 === .
-
傻逼js的bug: 永远不用两个==, 有很多自相矛盾的地方
===基本类型看值, 对象比较地址.NaN !== NaN
&& 和 ||
-
console&&console.log&&console.log("哈哈")防御性编程, 防止console出错, 被人篡改
js傻逼: window上挂载的console能轻易修改
-
a=a||100//保底值, 当a不存在的时候, 给一个保底值100但是有一个bug
位运算以及二进制
-
0b: 我要写二进制数啦, 例如:
0b10110, 就是二进制数:10110 -
与运算符判断奇偶:
偶数 & 1 =0 奇数 & 0 = 1 -
用位运算来取整:位运算不支持小数
-
位运算来交换两个变量: 当然有简单语法
-
.运算会自动把一个简单变量自动变成对象. 会自动创建也会自动删除:永远不要用new Number
-
相当无聊的:不写return也能执行两句语句:
let f = x=>(console.log('hi'), x+1)不写return也能执行两句 -
js优先级这辈子都记不下来. 直接放弃记忆优先级.只用圆括号. 说我的同事能理解我的代码