1. 程式人生 > 其它 >函式-JavaScript入門基礎(006)

函式-JavaScript入門基礎(006)

技術標籤:JavaScriptjavascriptjquerycsscss3html

很多時候,我們需要程式執行相同和類似的任務。為了避免程式碼重複和冗餘,我們會把相似的功能縮寫在一個模組中,這個模組我們稱為函式。

使用函式可以讓程式碼的維護更方便。

如何建立函式呢?

函式的語法:

function函式名稱(){......程式碼}

首先是關鍵字function,接著是函式的名稱,後面緊跟一對圓括號,最後是一對花括號。圓括號中是可以帶引數的。這裡要注意一下,function是必須全部小寫的。

示例程式碼:

<script>  function doThis()
{ .......做什麼}function doThat(){ ......做哪些}</script>

呼叫函式:

函式被宣告出來後,是不會自動執行的,需要明確的呼叫它,才會執行。呼叫函式時,只要寫出函式名,後帶一對圓括號即可。

示例程式碼:

​​​​​​​

<script>function doThis(){  ......做什麼}dothis();</script>

但是一般情況下,我們的函式都是給事件處理器寫的,所以在事件處理器中呼叫函式,如下:

<inputtype="button"name="btn"value="按鈕"onclick="dothis()">

JavaScript程式碼放置在頁面head區域:

之前的程式碼,我們基本都放在頁面的body區域,為了更好的發揮函式的作用呢,我們儘量把<script>程式碼放置在head區域,這個是因為head部分會在頁面載入順序中靠前執行。

示例程式碼:

​​​​​​​

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <script>
function sayHello() { alert("Hello"); }</script></head><body> <input type="button" value="Say Hello" onclick="sayHello()"></body></html>

以上程式碼,函式位於head部分,當單擊按鈕時,在事件中呼叫函式,函式體內部只有一行程式碼,功能是顯示一個提示框。

帶引數的函式:

無參函式,執行的程式基本是固定動作,如果需要根據一些條件值發生變換,那麼就需要給函式傳遞引數。

語法:

function 函式名(引數)

示例函式

​​​​​​​

functioncube(x){  alert(x * x * x);}

這個函式的作用是,計算一個數值x的立方,比如我們計算3的立方,

cube(3);  //結果27

當然,我們也可以傳入一個變數,

​​​​​​​

varnum = 3;cube(3);  // 27

多引數函式:

​​​​​​​

function times(a,b){  alert(a * b);}

當圓括號中需要多個引數時,我們可以用逗號進行分隔開。

呼叫時,

times(3,4) // 結果12

在呼叫多引數函式時,需要傳遞的引數數量,一定要和宣告函式的引數數量一致,否則會報錯。另外需要注意一點,函式宣告中的引數名稱,和呼叫函式時的引數名稱,不需要一致,可以是不同的。比如:

宣告函式:

​​​​​​​​​​​​​​

functiongetArea(length,width,height){alert(length * width * height);}

呼叫函式:

​​​​​​​

vara = 10;varb=10;var c = 10;getArea(a,b,c);

這樣是符合程式規則的,我們可以理解為,引數列表中的名稱就是佔位符,只要按照引數型別和值傳遞進去就可以了。

下面我們看一個示例程式碼:

​​​​​​​

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>呼叫函式獲取按鈕資訊</title>    <script>        function buttonReport(buttonId, buttonName, buttonValue) {            var message1 = "Button id: " + buttonId + "\n";            var message2 = "Button Name: " + buttonName + "\n";            var message3 = "Button Value: " + buttonValue + "\n";            alert(message1 + message2 + message3);        }</script></head><body>    <input type="button" id="id1" name="left_button" value="Left Button" onclick="buttonReport(this.id,this.name,this.value)">    <input type="button" id="id2" name="center_button" value="Center Button" onclick="buttonReport(this.id,this.name,this.value)">    <input type="button" id="id3" name="right_button" value="Right Button" onclick="buttonReport(this.id,this.name,this.value)"></body></html>

上面的程式碼,函式buttonReport的作用是對傳入的三個引數,分別代表控制元件的id,name,value,進行顯示。而呼叫函式時,我們使用了this物件,在按鈕的事件中的this就表示按鈕自己,所以可以提取出按鈕自己的屬性,分別是id,name,value。

函式返回值:

有些時候,我們的函式需要計算後,返回一定的值,我們就可以return來進行返回值。

語法:

​​​​​​​

function函式名稱(引數1,引數2){return 引數1與引數2運算}

舉例:

​​​​​​​

functiontimes(a,b){return a * b;}

上面函式的作用是兩數乘積,傳入引數a和引數b,計算出兩數之和,然後通過return,進行返回。

如果有返回值時,我們必須使用變數將返回值進行儲存的。

varget=times(3,4);  // get = 12;

下節我們接著分享關於函式的內容。


圖片