JS 函數(shù)

函數(shù)有三種定義方式

  • 函數(shù)聲明
 function add1(){
    console.log("函數(shù)聲明");
 }
  • 函數(shù)表達式
 var add2()=function(){
    console.log("函數(shù)表達式");
 }
  • 函數(shù)實例化
var add3 = new Function("i",
  "console.log("函數(shù)實例化")
);
區(qū)別:
  1. 函數(shù)聲明定義特點:
    函數(shù)定義會被前置;
    重復(fù)定義函數(shù)時,最后一次定義有效。
  2. 函數(shù)實例化定義特點:
    不遵循作用域逐級向上回溯原則;
    定義的函數(shù)只能訪問本地作用域和全局作用域。

函數(shù)調(diào)用

  1. 函數(shù)調(diào)用模式
  -  this指向全局對象
  1. 方法調(diào)用模式
  -  this指向調(diào)用者
  1. 構(gòu)造函數(shù)調(diào)用模式 new Function(...);
  -  this指向被構(gòu)造的對象
  1. apple(call)調(diào)用模式
  -  this指向第一個參數(shù)

函數(shù)參數(shù)傳遞

屏幕快照 2016-08-15 下午2.49.33.png

原始類型參數(shù)的傳遞模式:按值傳遞


屏幕快照 2016-08-15 下午2.49.23.png

對象類型參數(shù)的傳遞模式:按共享傳遞

屏幕快照 2016-08-15 下午2.47.09.png

閉包

什么是閉包:函數(shù)內(nèi)部定義的字函數(shù)引用到父函數(shù)的變量形成的變量。
功能:
1.保存函數(shù)執(zhí)行狀態(tài)
2.封裝
3.性能優(yōu)化

Function.prototype.bind

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在js中,函數(shù)本身屬于對象的一種,因此可以定義、賦值,作為對象的屬性或者成為其他函數(shù)的參數(shù)。函數(shù)名只是函數(shù)這個對象...
    bjhu電net閱讀 608評論 0 5
  • JavaScript 函數(shù)定義 JavaScript 使用關(guān)鍵字 function 定義函數(shù)。函數(shù)可以通過聲明定義...
    鹿守心畔光閱讀 528評論 0 1
  • 繼承 一、混入式繼承 二、原型繼承 利用原型中的成員可以被和其相關(guān)的對象共享這一特性,可以實現(xiàn)繼承,這種實現(xiàn)繼承的...
    magic_pill閱讀 1,126評論 0 3
  • 函數(shù)定義 函數(shù)聲明 函數(shù)表達式 函數(shù)實例化 不同函數(shù)定義方式的區(qū)別: 聲明提前:代碼執(zhí)行前先對變量定義、函數(shù)聲明進...
    angelwgh閱讀 344評論 0 0
  • 在八十年代的農(nóng)村,一首不知何處流傳而來的小調(diào)《摘石榴》,猶如初春的晚風(fēng),融化了冰,吹皺了水,悄然催生了一個個向世俗...
    木棉之秋閱讀 1,108評論 71 57

友情鏈接更多精彩內(nèi)容