English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScript Grundtutorials

JavaScript Objekt

JavaScript Funktion

JS HTML DOM

JS Browser BOM

AJAX Grundtutorials

JavaScript Referenzhandbuch

JavaScript-Funktionparameter

Eine Funktion kann einen oder mehrere Parameter haben, die vom Aufrufcode bereitgestellt und im Funktionskörper verwendet werden können.

JavaScript ist eine dynamische Typensprache, daher können die Funktionseingaben jeden Wert eines Daten Typs haben.

Funktionparameter und tatsächliche Parameter

FunktionParameterist der Name, der in der Funktionsdefinition aufgeführt istName

FunktionFormalparametersind die tatsächlichen Werte, die an die Funktion (und von der Funktion empfangen werden)Wert

Funktion参数

Bei der Definition einer Funktion, um Eingabewerte zur Laufzeit zu akzeptieren, können Parameter angegeben werden.

Die Parameter werden in Klammern () der Funktionsdefinition aufgeführt.

// 但是,对于您指定的每个参数,在调用函数时都需要将相应的参数传递给该函数,否则其值将变得不确定。
function greet(name) {
   Hello, + document.write("Hello, ")
}
// name);
以“Seagull”作为参数调用greet函数
Testen Sie heraus‹/›

greet("Seagull");

// 但是,对于您指定的每个参数,在调用函数时都需要将相应的参数传递给该函数,否则其值将变得不确定。
您可以根据需要定义任意数量的参数。1function add(num2function add(num3) {
   , num1 + var total = num2 + var total = num3num
   ;
}
 
// 调用函数
0,5, 2document.write(total); 10); // add( 35
0,-5, 8, 7);  // add( 10
Testen Sie heraus‹/›

输出:

//但是,对于您指定的每个参数,在调用函数时都需要将相应的参数传递给该函数,否则其值将变得不确定。
定义函数
   function showFullname(fName, lName) { + " " + lName);
}
 
// 调用函数
showFullname("Kavy", "Mark"); // 输出: Kavy Mark
showFullname("John"); // 输出: John undefined
Testen Sie heraus‹/›

默认参数

如果传递Wert未定义,默认函数参数允许使用默认值初始化命名参数。

这意味着,如果在调用函数时未提供任何参数来使用这些函数,则将使用这些默认参数值。

function myFunc(a, b = 20) {
  // 如果未传递或未定义参数b,则b为20
  return a + b;
}
myFunc(10, 5); // Zurück 15
myFunc(10);// Zurück 30
Testen Sie heraus‹/›

Arguments对象

JavaScript中的所有函数默认都可以使用arguments对象。参数对象包括每个参数的值。

arguments对象是一个类似于object的数组。您可以使用类似于数组的索引来访问其值。

下面的示例从传递的参数中返回最大数目:

getMax(9, 15, 61, 3);
function getMax() {
  let max = 0;
  for (let i = 0; i < arguments.length; i++) {
if (arguments[i] > max) {
   max = arguments[i];
}
  }
  return max;
}
Testen Sie heraus‹/›

以下示例返回所有传递的参数的总和:

getSum(9, 15, 61, 3);
function getSum() {
  let sum = 0;
  for (let i in arguments) {
  sum += arguments[i];
  }
  return sum;
}
Testen Sie heraus‹/›

Selbst wenn die Funktion keine Parameter enthält, ist das arguments-Objekt gültig.

Das arguments-Objekt ist ein Array, das wie ein Objekt funktioniert, unterstützt jedoch keine Arraymethoden.

Reset-Parameter

Reset-ParameterDie Syntax ermöglicht es uns, eine unbestimmte Anzahl von Parametern als Array an eine Funktion zu übergeben.

Das ist besonders nützlich, wenn Sie Parameter an eine Funktion übergeben möchten, aber nicht wissen, wie viele Parameter erforderlich sind.

Durch das Hinzufügen des Rest-Operators (...) (drei Punkte) vor dem benannten Parameter wird der Restparameter spezifiziert.

function sum(...arr) {
return arr.reduce((previous, current) => {
return previous + current;
});
}
sum(1, 2);  // Zurück 3
sum(1, 2, 3, 4);// Zurück 10
sum(1, 2, 3, 4, 5, 6);  // Zurück 21
Testen Sie heraus‹/›

Parameter werden wertweise übermittelt

Bei der Funktionsauf呼叫中 sind die Parameter die Parameter der Funktion.

JavaScript-Parameter werden vonWertÜbermittlung: Die Funktion kennt nur den Wert, nicht den Ort des Parameters.

Wenn die Funktion den Wert eines Parameters ändert, wird der ursprüngliche Wert des Parameters nicht geändert.

Änderungen an den Parametern sind außerhalb der Funktion nicht sichtbar (reflektiert).

Objekte werden referenzweise übergeben

In JavaScript sind Objektreferenzen Werte.

Daher verhält sich das Objekt so, als würde es durchReferenzÜbermittlung gleich:

Wenn die Funktion Objekteigenschaften ändert, wird der ursprüngliche Wert geändert.

Änderungen an Objekteigenschaften sind außerhalb der Funktion sichtbar (reflektiert).