javaScript 定義函數的三種方式

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、函數也是對象


分享到:


相關文章: