JS定義函數的兩種方式:函式宣告和函數運算式

來源:互聯網
上載者:User

標籤:color   asc   運行   div   highlight   它的   var   ons   console   

函式宣告

  關於函式宣告的方式,它的一個重要的特性就是函式宣告提升(function declaration hoisting),意思是在執行代碼之前會先讀取函式宣告。這就意味著可以把函式宣告放在調用它的語句後面,如下所示:

1             sayHi();               //在調用語句的後面聲明函數(function declaration hoisting)2             function sayHi () {3                console.log("Hello World");4             } 

  

 函數運算式

  有多種表達方式,下面是最常見的一種:

 var s = function (agr1, arg2) {      console.log(arg1 + ‘  ‘ + arg2);  } 

按照書中所說,函式宣告語句,聲明函數實際是聲明了一個變數f,然後將一個聲明的函數對象賦值給變數f,變數的聲明有提至所有代碼頂部的特點,故函式宣告語句聲明的函數可以在聲明之前調用。

 

至於為什麼同樣是將一個函數賦值給一個變數,函數運算式卻不能提到前面呢?我們來分析下:

var s = function(arg1, arg2) {};

  

可以拆分為:

var s;s = function (arg1, arg2) {}

  

其中 var s 被提前聲明了,但 s = xxxx 是要在運行到這裡的時候才進行。

 

JS定義函數的兩種方式:函式宣告和函數運算式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.