Как работает аргумент объекта в JavaScript

Объект arguments — это объект типа Array, соответствующий аргументам, переданным функции. Вы можете использовать это для обработки параметров рекурсивных функций. Чтобы определить количество параметров в сигнатуре функции, используйте свойство length.

Анализируя следующий пример, JoinStringsInFunctions будет возвращать строку, составленную из всех заданных строк в каждом параметре:

// Note that the function doesn't expect any argument yet !
function JoinStringsInFunctions() {
var receivedArguments = Array.prototype.slice.call(arguments, 0);// This will make the arguments as an array and will include all the items on it
return receivedArguments.join("-");
}
// Then execute
var finalText = JoinStringsInFunctions("Hello","From","Our Code World");
console.log(finalText); // Output : "Hello-From-Our Code World"

Очевидно, что это действительно простая функция, и нам нужно проверять типы (чтобы объединять только строки) и т. Д. Но если функция ожидает параметры, вам нужно изменить индекс функции слайса:

function JoinStringsInFunctions(separator) {
// change the 0 to 1 to expect the first parameter
var receivedArguments = Array.prototype.slice.call(arguments, 1);
return receivedArguments.join(separator);
}
// Then execute
var mySeparator = "";
var finalText = JoinStringsInFunctions(mySeparator,"Hello","From","Our Code World");
console.log(finalText); // Output: "HelloFromOur Code World"

Создание списка HTML

Мы собираемся создать html-список со всеми полученными параметрами, но мы ожидаем тип списка в первом параметре (ul или ol), поэтому:

function CreateList(listType){
var args = Array.prototype.slice.call(arguments, 1);// Expects the first parameter
var html = "";
for(var i = 0;i < args.length;i++){
var item = args[i];
html += '
  • '+item+'
  • '; } html += ""; return html; } CreateList("ul","Hello","From","Our","Code","World"); // Outputs :
    • Hello
    • From
    • Our
    • Code
    • World
    Ссылка на основную публикацию