/ / Чи може функція JS приймати об'єкт аргументу без будь-яких визначених параметрів? - javascript, функція, параметри, аргументи

Чи може функція JS приймати об'єкт аргументу без будь-яких визначених параметрів? - javascript, функція, параметри, аргументи

тобто є спосіб розміщення аргументу, наприклад, рядок, якщо функція викликається так: foo("str") поки написано так:

function foo(){
console.log(<the_argument>)
}
console.log(foo("str")) // <--- "str"

Відповіді:

2 для відповіді № 1

Ви можете скористатись аргументи об'єкт робити те ж саме:

    function foo() {
if(arguments.length >0) {
return arguments[0];
}
}
console.log(foo("str"));

Додаткова інформація: ES6 приносить Відпочинок параметрів & Розповсюдження Синтаксис, який допомагає при роботі з функціями


3 для відповіді № 2

Ви можете використовувати ключове слово "аргументи", щоб отримати аргументи, надані в foo ("str"). Напр.

function foo(){
var arg = arguments; // contains array of arguments provided
console.log(arg[0]);
}
console.log(foo("str")); // prints "str"

1 для відповіді № 3

Аргументи, передані до функції JS, можуть бути отримані за допомогою arguments масив всередині функції.

function func1(a, b, c) {
console.log(arguments[0]);
// expected output: 1

console.log(arguments[1]);
// expected output: 2

console.log(arguments[2]);
// expected output: 3
}

func1(1, 2, 3);

Для отримання додаткової інформації, будь ласка, зверніться до документації Mozilla https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments


1 для відповіді № 4

Так, є. Є неявний arguments локальна змінна Це ітерабельний і може бути використаний, як масив (хоча це не "масив") для доступу до всіх аргументів функції, не покладаючись на будь-які формальні параметри.

function foo()
{
for (i in arguments)
{
console.log(arguments[i]);
}
}
foo("str","wasdf",9)

Побачити Аргументи об'єкта, для більш детального визначення.


0 для відповіді № 5

Очевидно, ні. Ви можете перевірити себе. Якщо ви знаходитесь в кутовій стороні, то у вас є щось називається DI, і ви можете замовити введення.

Але ви можете зробити так, як внести змінну назовні та отримати доступ до функції. Якщо ви вважаєте за потрібне, ви можете перевірити його.

Власне, ви можете це зробити, перевірте https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments