1、命名函數定義
<code>function abc(){
console.log("a");
}/<code>
2、匿名函數定義
匿名函數沒有名字,可以設置給一個變量,或者設置給一個對象的屬性
命名函數可以在函數定義之前和之後執行,但是匿名函數只能在函數定義後執行
設置給一個變量
<code>var fn=function(){
console.log("b");
} /<code>
設置給一個對象的屬性
<code>var obj={
a:1,
b:2,
c:function(){
console.log("ccc");
}
}/<code>
自執行匿名函數
缺點:只能執行一次,無法再次調用
<code>(function(){
console.log("aa");
})();/<code>
3、構造函數創建
構造函數中,前面的內容就是這個創建函數的所有參數,最後一個內容就是這個函數執行語句塊
要求所有內容都必須是字符串
缺點,構造函數創建函數缺點是運行速度慢,效率低,因為需要將所有的字符串轉換為代碼
<code>var fn=new Function("a","b","console.log(a+b)");/<code>
關於函數
1、在這裡script標籤中的函數一旦創建成功,後面的所有script標籤中都可以使用該函數
2、當執行到當前script標籤時,預先將當前script標籤中所有的命名函數先存儲在堆中,並且在棧中給他定義函數名引用該函數地址
3、函數也是對象
閱讀更多 栗子紀 的文章
關鍵字: 函數 匿名 JavaScript