JavaScript 函數定義方法

來源:互聯網
上載者:User

標籤:教程   type   關鍵字   tin   ring   string   color   typeof   amp   

JavaScript 函數定義方法、

函式宣告

在之前的教程中,你已經瞭解了函式宣告的文法 :

function functionName(parameters) {  執行的代碼}

函式宣告後不會立即執行,會在我們需要的時候調用到。

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

分號是用來分隔可執行JavaScript語句。 
由於函式宣告不是一個可執行語句,所以不以分號結束。

函數運算式

JavaScript 函數可以通過一個運算式定義。

函數運算式可以儲存在變數中:

var x = function (a, b) {return a * b};

在函數運算式儲存在變數後,變數也可作為一個函數使用:

var x = function (a, b) {return a * b};var z = x(4, 3);

以上函數實際上是一個 匿名函數 (函數沒有名稱)。

函數儲存在變數中,不需要函數名稱,通常通過變數名來調用。上述函數以分號結尾,因為它是一個執行語句。

盡量避免使用 new 關鍵字。

函數提升(Hoisting)

在之前的教程中我們已經瞭解了 "hoisting(提升)"。

提升(Hoisting)是 JavaScript 預設將當前範圍提升到前面去的的行為。

提升(Hoisting)應用在變數的聲明與函數的聲明。

因此,函數可以在聲明之前調用:

myFunction(5);function myFunction(y) {    return y * y;}

使用運算式定義函數時無法提升。

自調用函數

函數運算式可以 "自調用"。

自調用運算式會自動調用。

如果運算式後面緊跟 () ,則會自動調用。

不能自調用聲明的函數。

通過添加括弧,來說明它是一個函數運算式:

(function () {    var x = "Hello!!";      // 我將調用自己})();

以上函數實際上是一個 匿名自我調用的函數 (沒有函數名)。

函數可作為一個值使用

JavaScript 函數作為一個值使用:

function myFunction(a, b) {    return a * b;}var x = myFunction(4, 3);

JavaScript 函數可作為運算式使用:

function myFunction(a, b) {    return a * b;}var x = myFunction(4, 3) * 2;
函數是對象

在 JavaScript 中使用 typeof 操作符判斷函數類型將返回 "function" 。

但是JavaScript 函數描述為一個對象更加準確。

JavaScript 函數有 屬性 和 方法

arguments.length 屬性返回函數調用過程接收到的參數個數:

function myFunction(a, b) {    return arguments.length;}

toString() 方法將函數作為一個字串返回:

function myFunction(a, b) {    return a * b;}var txt = myFunction.toString();

 

 

 

 

 

 

 

 

 

 

 

 

 

JavaScript 函數定義方法

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.