js-函數-定義:數組
函數是由事件驅動的或者當它被調用時執行的可重複使用的代碼塊。函數
1.聲明式建立: function fn(){} // 使用聲明關鍵字function性能
2.賦值式建立:var fn = function(){} // 做爲函數表達式的函數spa
函數的執行:對象
1.通常狀況: 函數名 + () //任何狀況下,只要有此種狀況,當即執行blog
2.事件觸發:eg: oBtn.onclick = function;索引
實參:實際調用函數的時候傳入的參數。生命週期
形參:函數定義的時候在小括號裏面定義的參數列表。用來接收實際參數。事件
return:結束函數執行的同時把後面 跟着的值返回出去,做爲函數的產出。是可選的。不顯示返回參數的話執行後會默認返回undefined。ip
參數:
1.形參數量等於實參數量: 一一對應的關係;
2.形參數量大於實參: 多出來的形參是undefiend;
3.實參數量大於形參數量: 多出來的實參被傳入到argements中;
Tips:實參能夠傳遞任何數據,(null,NaN,undefined也不例外)
函數的分類
1.有名:聲明式建立,正常函數,正常使用;
2. 沒名:(1)做爲值存在(賦值式建立函數);
(2)做爲實參存在(回調函數)
(3)做爲匿名函數函數體存在(匿名函數)
(4)做爲行爲處理函數存在(事件處理函數)
匿名函數: 匿名函數就是沒有名字的函數,與函數有相同的做用域,可是使用一次就會釋放 特色: 當即執行
形如:
(function(){ }()
回調函數:將函數A做爲參數傳到另外一個函數B中,在函數B中執行函數A,那麼做爲參數的函數A就是回調函數;
arguments:
是函數內部的一個專門用來存儲全部實參的數組對象;
數組: 數組的組合,多個數據,順序(索引),從0-length-1;
函數:(內置和非內置)區別: 有沒有返回值;
return(返回值):
在函數執行結束後,獲得的數據;函數處理的結果或者數據,能夠屢次使用;能夠返回任何數據類型
return做用:1.將函數內部處理的數據或結果返回到外部進行二次使用
2.當即結束函數
做用域:
生效的區域,能夠被使用的區域
1.全局:整個代碼空間
2.局部:只要是函數,在函數內部,就是局部做用域;
Tips:全局不能使用局部,局部能夠使用全局;若在當前做用域中沒有找到要使用的變量,那麼會自動向上級做用域找,一直沒有,報錯
函數的形參,至關於當前所屬函數的局部變量(形參中的變量不須要聲明)
生命週期:
全局變量:一直存在, 特色 : 方便 缺點 : 消耗性能
局部變量: 只能在局部函數中, 特色 :不消耗性能
so 取中 利用匿名函數