js構造函數和原型的關系 js原型對象和構造函數的區別



文章插圖
js構造函數和原型的關系 js原型對象和構造函數的區別

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