JavaScript 函數文法

來源:互聯網
上載者:User

函數就是包裹在花括弧中的代碼塊,前面使用了關鍵詞 function:

function functionname(){這裡是要執行的代碼}

當調用該函數時,會執行函數內的代碼。

可以在某事件發生時直接調用函數(比如當使用者點擊按鈕時),並且可由 JavaScript 在任何位置進行調用。

提示:JavaScript 對大小寫敏感。關鍵詞 function 必須是小寫,並且必須以與函數名稱相同的大小寫來調用函數。

 

調用帶參數的函數

在調用函數時,您可以向其傳遞值,這些值被稱為參數。

這些參數可以在函數中使用。

您可以發送任意多的參數,由逗號 (,) 分隔:

myFunction(argument1,argument2)

當您聲明函數時,請把參數作為變數來聲明:

function myFunction(var1,var2){這裡是要執行的代碼}

變數和參數必須以一致的順序出現。第一個變數就是第一個被傳遞的參數的給定的值,以此類推。

 

執行個體
<button onclick="myFunction('Bill Gates','CEO')">點擊這裡</button><script>function myFunction(name,job){alert("Welcome " + name + ", the " + job);}</script>

上面的函數會當按鈕被點擊時提示 "Welcome Bill Gates, the CEO"。

函數很靈活,您可以使用不同的參數來調用該函數,這樣就會給出不同的訊息:

 

帶有傳回值的函數

有時,我們會希望函數將值返回調用它的地方。

通過使用 return 語句就可以實現。

在使用 return 語句時,函數會停止執行,並返回指定的值。

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

上面的函數會傳回值 5。

注釋:整個 JavaScript 並不會停止執行,僅僅是函數。JavaScript 將繼續執行代碼,從調用函數的地方。

函數調用將被傳回值取代:

var myVar=myFunction();

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

即使不把它儲存為變數,您也可以使用傳回值:

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

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

您可以使傳回值基於傳遞到函數中的參數:

執行個體

計算兩個數位乘積,並返回結果:

function myFunction(a,b){return a*b;}document.getElementById("demo").innerHTML=myFunction(4,3);

"demo" 元素的 innerHTML 將是:

12
 

在您僅僅希望退出函數時 ,也可使用 return 語句。傳回值是可選的:

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

如果 a 大於 b,則上面的代碼將退出函數,並不會計算 a 和 b 的總和。

 

局部 JavaScript 變數

在 JavaScript 函數內部聲明的變數(使用 var)是局部變數,所以只能在函數內部訪問它。(該變數的範圍是局部的)。

您可以在不同的函數中使用名稱相同的局部變數,因為只有聲明過該變數的函數才能識別出該變數。

只要函數運行完畢,本地變數就會被刪除。

全域 JavaScript 變數

在函數外聲明的變數是全域變數,網頁上的所有指令碼和函數都能訪問它。

JavaScript 變數的生存期

JavaScript 變數的生命期從它們被聲明的時間開始。

局部變數會在函數運行以後被刪除。

全域變數會在頁面關閉後被刪除。

向未聲明的 JavaScript 變數來分配值

如果您把值賦給尚未聲明的變數,該變數將被自動作為全域變數聲明。

這條語句:

carname="Volvo";

將聲明一個全域變數 carname,即使它在函數內執行。

相關文章

Alibaba Cloud 10 Year Anniversary

With You, We are Shaping a Digital World, 2009-2019

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。