Внутри каждой функции JavaScript доступен массив arguments, в котором лежат все переданные аргументы. Это позволяет, например, посчитать среднее арифметическое для любого числа аргументов.
Пишем:
Считаем:
А вот делать digitRegEx.compile() - не надо. В Opera 11 откомпилированные RegExp перестают работать.
Пишем:
var digitRegEx=/^-?\d+([,\.]\d+)?$/g;
function arithmeticMean() {
if (!arguments.length)
return 0;
var finalSum = 0;
for (var i = 0; i < arguments.length; i++)
if (digitRegEx.test(arguments[i]))
finalSum += parseFloat(arguments[i]);
return (arguments.length) ? finalSum / arguments.length : 0;
}
Считаем:
alert(arithmeticMean(1, 2, 3, 4, '5', 'this param is counted as 0');
А вот делать digitRegEx.compile() - не надо. В Opera 11 откомпилированные RegExp перестают работать.
Комментариев нет:
Отправить комментарий