函數的聲明方式
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的異步操作,就需要回調函數。
你不是一個人,有人在等你,為了她,一定要不停的奔跑,不停的進步,不停的成長