JavaScript 12

函數的聲明方式

A.基本語法? ? ? function 關鍵字

function 函數名([參數1],[參數2]....){

函數體

[retrun] //返回值

}

B.字面量定義的形式(匿名函數)

var 變量=function ([參數1],[參數2]....){

函數體

[retrun] //返回值

}

C.以對象的形式來聲明new 關鍵字。

var 變量=new Function([參數1],[參數2]...,"函數體");

定義函數的方式

一、函數聲明(function關鍵字)

二、函數表達式 ( 匿名函數)

函數聲明提升

關于函數聲明,它的一個重要特征就是函數聲明提升,

意思是在執行代碼之前會先讀取函數聲明,這就意味著可以

把函數聲明放在調用它的語句后面。

show();

function show(){

alert(“hello world”)

}

這個不會拋出錯誤,因為在代碼執行之前會先讀取函數聲明

函數表達式

var? foo=function(arg0,arg1,arg2){

//函數體

};

創建一個函數并將它賦值給變量foo,這種情況下創建的函數叫匿名函數,因為function關鍵字后面沒有標識符。

匿名函數就是沒有實際名字的函數

(匿名函數有時候也叫拉姆達函數)

匿名函數的調用

通過括號來調用

– 變量名()

自調用

– (function (){})()

(+ - ! ~ ())

要調用一個函數,我們必須要有方法定位它,引用它。所以,我們會需要幫它找一個名字。例如:

var abc=function(x,y){

return x+y;

}

alert(abc(2,3)); // "5"

上面的操作其實就等于換個方式去定義函數,這種用法是我們比較頻繁遇到的。例如我們在設定一個DOM元素事件處理函數的時候,我們通常都不會為他們定名字,而是賦予它的對應事件引用一個匿名函數。

對匿名函數的調用其實還有一種做法,也就是我們看到的jQuery 片段—— 使用() 將匿名函數括起來,然后后面再加一對小括號(包含參數列表)。我們再看一下以下例子:

alert((function(x,y){return x+y;})(2,3));// "5"

使用匿名函數的情況

語法:function(){函數體;}

因為是匿名函數,所以一般也不會有參數傳給他。

為什么要創建匿名函數呢?在什么情況下會使用到匿名函數。匿名函數主要有兩種常用的場景,一是回調函數,二是直接執行函數。

回調函數,像ajax的異步操作,就需要回調函數。

你不是一個人,有人在等你,為了她,一定要不停的奔跑,不停的進步,不停的成長

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容