一、.clamp(number, [lower], upper)
1、意义
限制在 lower
和 upper
之间的值
2、参数
number
(number): 被限制的值。
[lower]
(number): 下限。
upper
(number): 上限。
3、源码
function clamp(number, lower, upper) {
number = +number
lower = +lower
upper = +upper
lower = lower === lower ? lower : 0
upper = upper === upper ? upper : 0
if (number === number) {
number = number <= upper ? number : upper
number = number >= lower ? number : lower
}
return number
}
4、举例
number不在lower和upper所在范围内,返回的结果是离number最近的lower或upper
_.clamp(-10, -5, 5);
// => -5
_.clamp(10, -5, 5);
// => 5
number在lower和upper所在范围内,返回的结果是number
_.clamp(-1, -5, 5);
// => -1
lower不是必须参数,没有lower时,返回的结果是upper
_.clamp(-4, 5)
// => 5
_.clamp(9, 5)
// => 5