т.е. има ли някакъв начин да се приеме аргумент, напр. низа, ако се извиква функция като така: 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