Member 13934693 Ответов: 1

Что именно представляют собой параметры функции?


Я действительно не понимаю их вообще. Самое большее, что я знаю, это то, что:

function Test(a, b) {
alert(a + b);
}

Test("Hello ", "World!");
//Alerts "Hello World!"

Я понимаю, что такое А и в в этой функции. Но в следующем примере я понятия не имею, что такое А и В. Посмотри:

function Sort() {
var arr = [31, 1, 71, 500];
arr.sort(function(a, b) {return a - b});
alert(arr);
}
//Alerts "1,31,71,500". Without the parameters, it sorts as "1,31,500,71".
Но я до сих пор не знаю, что такое А и Б, и как им удалось правильно их рассортировать.

Что я уже пробовал:

Ничего. Никто на Сололеарне не понял моего вопроса, так что теперь я здесь. xD

1 Ответов

Рейтинг:
1

Mohibur Rashid

функция сортировки в JavaScript-объект Array принять параметра 1 или параметр.

что будет, если не будет парамертера? это сортировка по алфавиту. чтобы сообщить javascript, как вы хотите сортировать, вам нужно передать функцию в качестве параметра функции сортировки. Функция параметра принимает два аргумента и либо ноль, либо положительный ненулевой, либо отрицательный ненулевой (ха-ха)

funtion comp(a, b) {
 return a-b; // 0 means equal, negative means a is small.
}
arr.sort(comp);

в вашем примере ваша функция анонимна. эта функция не является многоразовой и будет потеряна после выполнения


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

Допустим, у нас есть функция, которая производит "hello world". Но сама функция не выдает результат. Вместо этого функция использует предоставленный механизм для представления данных.
function HelloWorld(func) {
 // we will use this func to render the result
 var result="Hello World";
 func(result); // we are using func as a function 
}

// now let's use HelloWorld function to utilize data; 
function DisplayToDiv(res) {
 document.getElementById("divid").innerHtml = res;
} 

// call the function
HelloWorld(DisplayToDiv); 

// let's write the next command to output as console result 

HelloWorld(function /*name is not required*/(res){
 console.log(res);
});

// another example
HelloWorld(alert); // does alert look familiar to you?


Надеюсь, это поможет


Кстати, эта функция, которую вы передаете, называется перезвонить функция