JavaScript 函數(shù)

2022-05-18 14:18 更新

在JavaScript中,函數(shù)即對(duì)象,可以隨意地被程序操控,函數(shù)可以嵌套在其他函數(shù)中定義,這樣可以訪問它們被定義時(shí)所處的作用域中的任何變量。


函數(shù)是由事件驅(qū)動(dòng)的或者當(dāng)它被調(diào)用時(shí)執(zhí)行的可重復(fù)使用的代碼塊。

實(shí)例

<!DOCTYPE html>
<html>
<head>
<script>
function myFunction()
{
alert("Hello World!");
}

</script>
</head>

<body>
<button onclick="myFunction()">Try it</button>
</body>
</html>


JavaScript 函數(shù)語法

函數(shù)就是包裹在花括號(hào)中的代碼塊,前面使用了關(guān)鍵詞 function:

 function functionname() {
執(zhí)行代碼
 }

當(dāng)調(diào)用該函數(shù)時(shí),會(huì)執(zhí)行函數(shù)內(nèi)的代碼。

可以在某事件發(fā)生時(shí)直接調(diào)用函數(shù)(比如當(dāng)用戶點(diǎn)擊按鈕時(shí)),并且可由 JavaScript 在任何位置進(jìn)行調(diào)用。

lamp JavaScript 對(duì)大小寫敏感。關(guān)鍵詞 function 必須是小寫的,并且必須以與函數(shù)名稱相同的大小寫來調(diào)用函數(shù)。

提示:function 中的花括號(hào)是必需的,即使函數(shù)體內(nèi)只包含一條語句,仍然必須使用花括號(hào)將其括起來。



調(diào)用帶參數(shù)的函數(shù)

在調(diào)用函數(shù)時(shí),您可以向其傳遞值,這些值被稱為參數(shù)。

這些參數(shù)可以在函數(shù)中使用。

您可以發(fā)送任意多的參數(shù),由逗號(hào) (,) 分隔:

 myFunction(argument1,argument2)

當(dāng)您聲明函數(shù)時(shí),請(qǐng)把參數(shù)作為變量來聲明:

 function myFunction(var1,var2){
代碼
 }

變量和參數(shù)必須以一致的順序出現(xiàn)。第一個(gè)變量就是第一個(gè)被傳遞的參數(shù)的給定的值,以此類推。

實(shí)例

<button onclick="myFunction('Harry Potter','Wizard')">Try it</button>

<script>
function myFunction(name,job)
{
alert("Welcome " + name + ", the " + job);
}
</script>

嘗試一下 ?

上面的函數(shù)在按鈕被點(diǎn)擊時(shí)會(huì)提示 "Welcome Harry Potter, the Wizard"。

函數(shù)很靈活,您可以使用不同的參數(shù)來調(diào)用該函數(shù),這樣就會(huì)給出不同的消息:

實(shí)例

<button onclick="myFunction('Harry Potter','Wizard')">Try it</button>
<button onclick="myFunction('Bob','Builder')">Try it</button>

嘗試一下 ?

根據(jù)您點(diǎn)擊的不同的按鈕,上面的例子會(huì)提示 "Welcome Harry Potter, the Wizard" 或 "Welcome Bob, the Builder"。


帶有返回值的函數(shù)

有時(shí),我們會(huì)希望函數(shù)將值返回調(diào)用它的地方。

通過使用 return 語句就可以實(shí)現(xiàn)。

在使用 return 語句時(shí),函數(shù)會(huì)停止執(zhí)行,并返回指定的值。

語法

 function myFunction(){
var x=5;
return x;
}

上面的函數(shù)會(huì)返回值 5。

注意: 整個(gè) JavaScript 并不會(huì)停止執(zhí)行,僅僅是函數(shù)。JavaScript 將繼續(xù)執(zhí)行代碼,從調(diào)用函數(shù)的地方。

函數(shù)調(diào)用將被返回值取代:

 var myVar=myFunction();

myVar 變量的值是 5,也就是函數(shù) "myFunction()" 所返回的值。

即使不把它保存為變量,您也可以使用返回值:

document.getElementById("demo").innerHTML=myFunction();

"demo" 元素的 innerHTML 將成為 5,也就是函數(shù) "myFunction()" 所返回的值。

您可以使返回值基于傳遞到函數(shù)中的參數(shù):

實(shí)例

計(jì)算兩個(gè)數(shù)字的乘積,并返回結(jié)果:

function myFunction(a,b)
{
return a*b;
}

document.getElementById("demo").innerHTML=myFunction(4,3);

"demo" 元素的 innerHTML 將是:

12

嘗試一下 ?

在您僅僅希望退出函數(shù)時(shí) ,也可使用 return 語句。返回值是可選的:


function myFunction(a,b){
    if (a>b){
        return;
    }
    x=a+b
}

如果 a 大于 b,則上面的代碼將退出函數(shù),并不會(huì)計(jì)算 a 和 b 的總和。


局部 JavaScript 變量

在 JavaScript 函數(shù)內(nèi)部聲明的變量(使用 var)是局部變量,所以只能在函數(shù)內(nèi)部訪問它。(該變量的作用域是局部的)。

您可以在不同的函數(shù)中使用名稱相同的局部變量,因?yàn)橹挥新暶鬟^該變量的函數(shù)才能識(shí)別出該變量。

只要函數(shù)運(yùn)行完畢,本地變量就會(huì)被刪除。

局部變量比同名全局變量的優(yōu)先級(jí)高,所以局部變量會(huì)隱藏同名的全局變量。


全局 JavaScript 變量

在函數(shù)外聲明的變量是全局變量,網(wǎng)頁上的所有腳本和函數(shù)都能訪問它。


JavaScript 變量的生存期

JavaScript 變量的生命期從它們被聲明的時(shí)間開始。

局部變量會(huì)在函數(shù)運(yùn)行以后被刪除。

全局變量會(huì)在頁面關(guān)閉后被刪除。


向未聲明的 JavaScript 變量分配值

如果您把值賦給尚未聲明的變量,該變量將被自動(dòng)作為全局變量聲明。

這條語句:

 carname="Volvo";

將聲明一個(gè)全局變量 carname,即使它在函數(shù)內(nèi)執(zhí)行。

JavaScript函數(shù)學(xué)習(xí)腦圖


相關(guān)文章

JavaScript學(xué)習(xí)筆記整理(6):函數(shù)


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)