ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
31 lines (27 loc) • 839 B
JavaScript
;
var defaultTo = require('./defaultTo.js');
var native = require('./internals/native.js');
var toNumber = require('./toNumber.js');
var clamp = function (number, lower, upper) {
if (upper === native.nativeUndefined) {
upper = lower;
lower = native.nativeUndefined;
}
if (upper !== native.nativeUndefined) {
upper = defaultTo(toNumber(upper), 0);
}
if (lower !== native.nativeUndefined) {
lower = defaultTo(toNumber(lower), 0);
}
number = toNumber(number);
if (number === number) {
if (upper !== native.nativeUndefined) {
number = number <= upper ? number : upper;
}
if (lower !== native.nativeUndefined) {
number = number >= lower ? number : lower;
}
}
return number;
};
module.exports = clamp;