JavaScript菜鳥(niǎo)教程

JavaScript 對(duì)象

JavaScript 函數(shù)

JS HTML DOM

JS 瀏覽器BOM

AJAX 菜鳥(niǎo)教程

JavaScript 參考手冊(cè)

JavaScript 函數(shù)(Function)

JavaScript函數(shù)是旨在執(zhí)行動(dòng)作或特定任務(wù)的代碼塊。

函數(shù)是由程序員定義的可重用的自定義代碼,可以使您的程序更具模塊化和效率。

當(dāng)“某物”調(diào)用JavaScript函數(shù)時(shí),將執(zhí)行該函數(shù)。

定義函數(shù)

函數(shù)定義(也稱(chēng)為函數(shù)聲明)使用 function 關(guān)鍵詞,函數(shù)的順序依次為:

  • 函數(shù)名稱(chēng)

  • 函數(shù)的參數(shù)列表,用小括號(hào)( )括起來(lái),并用逗號(hào)分隔

  • 定義函數(shù)的語(yǔ)句,用大括號(hào)括{  }起來(lái).

以下是JavaScript中函數(shù)的語(yǔ)法:

function nameOfFunction(parameter1, parameter2, ..., parameterN) {
 // 要執(zhí)行的代碼
 }

函數(shù)名稱(chēng)可以包含字母,數(shù)字,下劃線(xiàn)和美元$符號(hào)(與變量相同的規(guī)則)。

在第一個(gè)示例中,我們將進(jìn)行函數(shù)聲明以向文檔打印問(wèn)候語(yǔ)。

function greet() {
   document.write("Hello, World!");
}
測(cè)試看看?/?

函數(shù)調(diào)用

定義函數(shù)不會(huì)執(zhí)行。定義函數(shù)只是對(duì)函數(shù)命名,并指定調(diào)用函數(shù)時(shí)的操作。

您可以通過(guò)在函數(shù)名稱(chēng)后加上括號(hào)()來(lái)調(diào)用函數(shù)。

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

//調(diào)用已經(jīng)定義的greet()函數(shù)
greet();
測(cè)試看看?/?

現(xiàn)在,我們將greet()代碼包含在一個(gè)函數(shù)中,并且可以根據(jù)需要重復(fù)使用它。

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

// 多次調(diào)用已經(jīng)定義的greet()函數(shù)
greet();
greet();
greet();
測(cè)試看看?/?

您還可以使用其他方法來(lái)調(diào)用函數(shù):

  • 事件發(fā)生時(shí)(用戶(hù)單擊按鈕時(shí))

  • 從JavaScript代碼中調(diào)用它

  • 自動(dòng)(自行執(zhí)行)

在本教程的后面,您將學(xué)到更多有關(guān)函數(shù)調(diào)用的信息。

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

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

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

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

//以“ Vishal”為參數(shù)調(diào)用greet函數(shù)
greet("Vishal");
測(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); // 0utputs: 35
add(-5, 8, 7);  // 0utputs: 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"); // 0utputs: Kavy Mark
showFullname("John"); // 0utputs: John undefined
測(cè)試看看?/?

參數(shù)的工作方式類(lèi)似于函數(shù)中的占位符變量;它們?cè)谶\(yùn)行時(shí)被調(diào)用時(shí)提供給函數(shù)的值(稱(chēng)為參數(shù))替換。

在函數(shù)內(nèi)部,參數(shù)表現(xiàn)為局部變量。

您將在本教程的后面部分了解有關(guān)函數(shù)參數(shù)的更多信息。

返回值

JavaScript函數(shù)可以使用return語(yǔ)句將值返回給調(diào)用該函數(shù)的腳本。

返回的值可以是任何類(lèi)型,包括數(shù)組和對(duì)象。

當(dāng)JavaScript到達(dá)一條return語(yǔ)句時(shí),該函數(shù)將停止執(zhí)行。

以下函數(shù)采用一個(gè)稱(chēng)為數(shù)字的參數(shù),并返回乘以自身的參數(shù)(即數(shù)字):

//定義函數(shù)
function square(number) {
   return number * number;
}

//調(diào)用函數(shù),返回值將存儲(chǔ)在x中
var x = square(5);
測(cè)試看看?/?

一個(gè)函數(shù)不能返回多個(gè)值。但是,您可以通過(guò)返回值數(shù)組來(lái)獲得類(lèi)似的結(jié)果:

function makeArray() {
   var myArray = ["Apple", "Mango", "Banana", "Orange"];
   return myArray;
}
測(cè)試看看?/?

()運(yùn)算符調(diào)用函數(shù)

使用上面的示例,引用函數(shù)square對(duì)象,并引用函數(shù)square()結(jié)果。

如果不使用(),將返回函數(shù)定義而不是函數(shù)結(jié)果:

function square(number) {
   return number * number;
}

document.write(square(5));  // 輸出 25
document.write(square); // 輸出定義的函數(shù)
測(cè)試看看?/?

函數(shù)表達(dá)式

雖然上面的函數(shù)聲明在語(yǔ)法上是一個(gè)語(yǔ)句,但是也可以通過(guò)函數(shù)表達(dá)式創(chuàng)建函數(shù)。

函數(shù)表達(dá)式可以存儲(chǔ)在變量中,并始終使用變量名來(lái)調(diào)用。

這樣的函數(shù)可以是匿名的 ; 它不必具有名稱(chēng)。例如,函數(shù)square()可以定義為:

var square = function(number) { return number * number; };

var x = square(5); // x = 25
測(cè)試看看?/?

另一個(gè)示例:

var sum = function(a, b) {
return a + b;
};

var x = sum(100, 8);  // x = 108
測(cè)試看看?/?

上面的函數(shù)以分號(hào)結(jié)尾,因?yàn)樗强蓤?zhí)行語(yǔ)句的一部分。

函數(shù)作用范圍

定義在函數(shù)內(nèi)部的變量不能從函數(shù)外部的任何地方訪(fǎng)問(wèn),它們將成為函數(shù)的局部變量。

// 此處的代碼不能使用 city

function myFunc() {
   var city = "New Delhi";
  // 此處的代碼能使用 city
}

// 此處的代碼不能使用 city
測(cè)試看看?/?

由于局部變量只能在其函數(shù)內(nèi)部使用,因此具有相同名稱(chēng)的變量可以在不同的函數(shù)內(nèi)部使用。

函數(shù)啟動(dòng)時(shí)創(chuàng)建局部變量,函數(shù)完成時(shí)將局部變量刪除。

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