取整

js取整方法一般有以下几种 toFixed(0)之类的就不列出了

  • Math.round(x)
  • Math.floor(x)
  • Math.ceil(x)
  • ~~x

可把一个数字舍入为最接近的整数

  • 下面的答案是什么?
Math.round(-12.5) = ?
  • 就算知道答案也要思考一下
  • 临界值比较模糊不适合逻辑思考
Math.round(-12.5) = -12
Math.round(12.5) = 13

看看floor和ceil吧

  • 在[-∞ , +∞]的轴上
  • floor 会变成当前最近左边的整数
  • ceil 会变成当前最近右边的整数
Math.floor(-12.5) = -13
Math.floor(12.5) = 12
Math.ceil(-12.5) = -12
Math.ceil(12.5) = 13

我最爱用的~~

效果和Math.floor一致,可是只要两个符号,这个可以偷懒!!!

创建一个带区间的整数随机数

  • 参数可以是一个最大值
  • 也可以是最大值和最小值
  • 不包含最大值
function randomInt(max, min) {
min = min || 0;
return ~~((max - min) * Math.random() + min);
}

使用 || 或者 && 设置和判断值

||和&&的判断方式与==一样存在转型

类型 转换类型
非0数字(含Infinity) true
Object对象 true
非空字符串 true
0/NaN false
null false
undefined false
min = min || 0;
  • 借用上面的一段代码
  • 先判断是否存在min
  • ||的逻辑是先判断左边是否为真 为真返回左边 不为真直接返回右边
  • 一般用于判断非空和初始化
let x = 1;
x = x && x - 1;
  • 当验证了x的存在时 再对x进行操作
  • 相对用的比较少 因为功能和三目运算符有些重叠的地方
  • 也可以使用||和&&实现三目运算符的功能

TODO 下次更新