У мене був момент, тому, хоча ви вже прийняли відповідь, я подумав, що я сприяю наступному:
Number.prototype.between = function(a, b) {
var min = Math.min.apply(Math, [a, b]),
max = Math.max.apply(Math, [a, b]);
return this > min && this < max;
};
var windowSize = 550;
console.log(windowSize.between(500, 600));
JS Fiddle демо .
Або, якщо ви хочете мати можливість перевірити номер у визначеному діапазоні, включаючи кінцеві точки :
Number.prototype.between = function(a, b, inclusive) {
var min = Math.min.apply(Math, [a, b]),
max = Math.max.apply(Math, [a, b]);
return inclusive ? this >= min && this <= max : this > min && this < max;
};
var windowSize = 500;
console.log(windowSize.between(500, 603, true));
JS Fiddle демо .
Відредаговано, щоб внести незначну поправку до вищезазначеного, враховуючи, що - як зазначено в коментарях -
… Function.prototype.apply()Повільно! Крім того, називати його, коли у вас є фіксована кількість аргументів, безглуздо ...
варто було зняти використання Function.prototype.apply(), що дає змінені версії вищезазначених методів, по-перше, без опції "включення":
Number.prototype.between = function(a, b) {
var min = Math.min(a, b),
max = Math.max(a, b);
return this > min && this < max;
};
var windowSize = 550;
console.log(windowSize.between(500, 600));
JS Fiddle демо .
І з опцією "включно":
Number.prototype.between = function(a, b, inclusive) {
var min = Math.min(a, b),
max = Math.max(a, b);
return inclusive ? this >= min && this <= max : this > min && this < max;
}
var windowSize = 500;
console.log(windowSize.between(500, 603, true));
JS Fiddle демо .
Список літератури: