В предыдущей статье мы обсудили параметры по умолчанию в JavaScript. В этой статье мы обсудим объект параметра аргументов JavaScript.
Как мы проводим различную обработку на основе пропущенных параметров в функции в следующем примере?
Кода -копия выглядит следующим образом:
функция addall () {
// Что нам здесь делать?
}
// должен вернуться 6
addall (1, 2, 3);
// должен вернуться 10
addall (1, 2, 3, 4);
К счастью, у JavaScript есть объект аргументов, который может справиться с вышеуказанными ситуациями. Объект аргументов является объектом массива. Если вы хотите узнать подробности объекта Arguments, пожалуйста, нажмите здесь. Мы используем объект аргументов, чтобы изменить приведенный выше пример:
Кода -копия выглядит следующим образом:
функция addall () {
var sum = 0;
for (var i = 0; i <arguments.length; i ++) {
sum += аргументы [i];
}
вернуть сумму;
}
// возвращает 6
addall (1, 2, 3);
// возвращает 10
addall (1, 2, 3, 4);
Выше мы сказали, что объект аргументов является объектом класса массива. Давайте проверим это ниже:
Кода -копия выглядит следующим образом:
function getName () {
console.log (array.isarray (аргументы));
}
// будет выводить false
GetName ("Benjamin");
Приведенные выше результаты теста можно увидеть:
Это не объект массива, так в чем разница между ним и объектом массива? Пожалуйста, нажмите здесь для деталей.
Выполнение следующего примера принесет ошибку:
Кода -копия выглядит следующим образом:
function sortargs () {
// uncaught typeerror: неопределенно не является функцией
отсортировано = arguments.sort ()
вернуть сортирован;
}
sortargs ();
Мы можем преобразовать объект массива в объект массива, как следующее:
Кода -копия выглядит следующим образом:
function sortargs () {
// преобразовать объект аргументов в реальный массив
var args = [] .slice.call (аргументы);
// Теперь это сработает!
отсортировано = args.sort ()
вернуть сортирован;
}
// будет выходить [1, 2, 3]
console.log (sortargs (1,3,2));
Если вы чувствуете, что эта статья полезна для вас, я надеюсь передать ее большему количеству нуждающихся людей. Если есть какая -либо неуместная статья, пожалуйста, оставьте сообщение, чтобы исправить его.