JavaScript菜鳥(niǎo)教程

JavaScript 對(duì)象

JavaScript 函數(shù)

JS HTML DOM

JS 瀏覽器BOM

AJAX 菜鳥(niǎo)教程

JavaScript 參考手冊(cè)

JavaScript 函數(shù)參數(shù)

一個(gè)函數(shù)可以具有一個(gè)或多個(gè)參數(shù),這些參數(shù)將由調(diào)用代碼提供并可以在函數(shù)內(nèi)部使用。

JavaScript是一種動(dòng)態(tài)類(lèi)型腳本語(yǔ)言,因此函數(shù)參數(shù)可以具有任何數(shù)據(jù)類(lèi)型的值。

函數(shù)參數(shù)和實(shí)參

函數(shù)參數(shù)是函數(shù)定義中列出的名稱(chēng)。

函數(shù)實(shí)參是傳遞給函數(shù)(并由函數(shù)接收)的實(shí)際。

函數(shù)參數(shù)

在定義函數(shù)以在運(yùn)行時(shí)接受輸入值時(shí),可以指定參數(shù)。

函數(shù)參數(shù)在函數(shù)定義的括號(hào)()中列出。

// 定義函數(shù)
function greet(name) {
   document.write("Hello, " + name);
}

// 以“Seagull”作為參數(shù)調(diào)用greet函數(shù)
greet("Seagull");
測(cè)試看看?/?

您可以根據(jù)需要定義任意數(shù)量的參數(shù)。

// 定義函數(shù)
function add(num1, num2, num3) {
   var total = num1 + num2 + num3;
   document.write(total);
}
 
// 調(diào)用函數(shù)
add(5, 20, 10); // 輸出: 35
add(-5, 8, 7);  // 輸出: 10
測(cè)試看看?/?

但是,對(duì)于您指定的每個(gè)參數(shù),在調(diào)用函數(shù)時(shí)都需要將相應(yīng)的參數(shù)傳遞給該函數(shù),否則其值將變得不確定。

//定義函數(shù)
function showFullname(fName, lName) {
   document.write(fName + " " + lName);
}
 
// 調(diào)用函數(shù)
showFullname("Kavy", "Mark"); // 輸出: Kavy Mark
showFullname("John"); // 輸出: John undefined
測(cè)試看看?/?

默認(rèn)參數(shù)

如果傳遞未定義,默認(rèn)函數(shù)參數(shù)允許使用默認(rèn)值初始化命名參數(shù)。

這意味著,如果在調(diào)用函數(shù)時(shí)未提供任何參數(shù)來(lái)使用這些函數(shù),則將使用這些默認(rèn)參數(shù)值。

function myFunc(a, b = 20) {
  // 如果未傳遞或未定義參數(shù)b,則b為20
  return a + b;
}

myFunc(10, 5); // 返回 15
myFunc(10);// 返回 30
測(cè)試看看?/?

Arguments 對(duì)象

JavaScript中的所有函數(shù)默認(rèn)都可以使用arguments 對(duì)象。參數(shù)對(duì)象包括每個(gè)參數(shù)的值。

arguments對(duì)象是一個(gè)類(lèi)似于object的數(shù)組。您可以使用類(lèi)似于數(shù)組的索引來(lái)訪問(wèn)其值。

下面的示例從傳遞的參數(shù)中返回最大數(shù)目:

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;
}
測(cè)試看看?/?

以下示例返回所有傳遞的參數(shù)的總和:

getSum(9, 15, 61, 3);

function getSum() {
  let sum = 0;
  for(let i in arguments) {
  sum += arguments[i];
  }
  return sum;
}
測(cè)試看看?/?

即使函數(shù)不包含任何參數(shù),arguments對(duì)象也是有效的。

arguments對(duì)象是類(lèi)似于對(duì)象的數(shù)組,但是,它不支持?jǐn)?shù)組方法。

reset參數(shù)

reset參數(shù)語(yǔ)法允許我們的參數(shù)數(shù)目不定傳遞給一個(gè)函數(shù)為一個(gè)數(shù)組。

當(dāng)您想將參數(shù)傳遞給函數(shù)但不知道需要多少個(gè)參數(shù)時(shí),這特別有用。

通過(guò)在命名參數(shù)前面加上rest運(yùn)算符(...)(即三個(gè)點(diǎn))來(lái)指定rest參數(shù)。

function sum(...arr) {
return arr.reduce((previous, current) => {
return previous + current;
});
}

sum(1, 2);  // 返回 3
sum(1, 2, 3, 4);// 返回 10
sum(1, 2, 3, 4, 5, 6);  // 返回 21
測(cè)試看看?/?

參數(shù)按值傳遞

在函數(shù)調(diào)用中,參數(shù)是函數(shù)的參數(shù)。

JavaScript參數(shù)由傳遞:該函數(shù)僅知道值,而不是參數(shù)的位置。

如果函數(shù)更改了參數(shù)的值,則不會(huì)更改參數(shù)的原始值。

對(duì)參數(shù)的更改在函數(shù)外部不可見(jiàn)(反映)。

對(duì)象按引用傳遞

在JavaScript中,對(duì)象引用是值。

因此,對(duì)象的行為就像通過(guò)引用傳遞一樣

如果函數(shù)更改了對(duì)象屬性,它將更改原始值。

對(duì)對(duì)象屬性的更改在函數(shù)外部可見(jiàn)(反映)。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清