«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как передать переменное количество аргументов функциям JavaScript?

Как передать переменное количество аргументов функциям JavaScript?

Опубликовано 18 ноября 2024 г.
Просматривать:498

How Can I Pass a Variable Number of Arguments to JavaScript Functions?

Передача переменного количества аргументов в функции JavaScript

JavaScript предлагает гибкость при передаче аргументов в функции, включая возможность отправлять переменное количество аргументов из массива.

Аритет переменной через аргументы

Как и Python, JavaScript имеет специальный объект аргументов, который представляет все переданные аргументы к функции. Этот объект содержит каждый аргумент как индексируемое свойство. Например:

function func() {
  console.log(arguments.length);
  for (arg in arguments) console.log(arg);
}

func('a', 'b', 'c', 'd'); // prints 4 and 'a', 'b', 'c', 'd'

Передача массива в качестве аргументов

Однако передача массива непосредственно в функцию в качестве аргументов не будет добиться желаемого результата. Вместо этого сам массив будет рассматриваться как один аргумент. Чтобы передать массив в качестве отдельных аргументов, вы можете использовать метод apply():

var arr = ['a', 'b', 'c'];

function func() {
  console.log(this); // 'test'
  console.log(arguments.length); // 3

  for (var i = 0; i 

Это напечатает 'test', 3, 'a', 'b' и 'c'.

Распространение синтаксиса (ES6 )

Начиная с ES6, в JavaScript появился расширенный синтаксис (...), который обеспечивает более лаконичный способ достижения того же самого результат:

func(...arr);

Это расширит элементы arr на отдельные аргументы, передаваемые в функцию.

Именованные параметры с расширенным синтаксисом (ES6) )

Вы также можете комбинировать именованные параметры с синтаксисом расширения, чтобы указать, что некоторые аргументы следует обрабатывать как массив:

function func(first, second, ...theRest) {
  //...
}

Заключение

JavaScript позволяет передавать переменное количество аргументов функциям через объект аргументов или, в ES6 и более поздних версиях, используя синтаксис расширения. Эта гибкость позволяет использовать различные варианты использования, например создавать универсальные функции, которые могут обрабатывать произвольное количество входных данных.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3