個人博客搭建完成牛欢,歡迎大家來訪問哦
黎默丶lymoo的博客
函數(shù)的定義方法
1.靜態(tài)方法
function 函數(shù)名 (參數(shù)) {code....};
函數(shù)定義之后不會立即執(zhí)行{}里面的代碼,而是會等到調(diào)用的時候才會執(zhí)行。
2.匿名方法
var 函數(shù)名 = function (參數(shù)) {code....};
3.直接量方法
函數(shù)名 = function (參數(shù)) {code....};
函數(shù)的參數(shù)
參數(shù)的類型
形式參數(shù)
形參不會改變實參的值
定義函數(shù)時使用的參數(shù)
實際參數(shù)
調(diào)用函數(shù)時傳遞給函數(shù)的實際參數(shù)
參數(shù)的特性
函數(shù)的參數(shù)沒有個數(shù)限制
參數(shù)的數(shù)據(jù)類型也沒有限制
通過arguments對象訪問函數(shù)參數(shù)的數(shù)組
參數(shù)始終按值傳遞
函數(shù)的arguments對象
arguments對象是存放函數(shù)實際參數(shù)的參數(shù)列表
它只能在函數(shù)內(nèi)部使用创夜,它不是數(shù)組,但是帶有下標(biāo)屬性
每次函數(shù)聲明時它會自動初始化
它有三個基本屬性:
1.length
獲取實際參數(shù)的長度
2.callee
返回當(dāng)前正在指向的函數(shù)
3.caler
返回調(diào)用當(dāng)前正在執(zhí)行函數(shù)的函數(shù)名
函數(shù)的類型
1.有參數(shù)有返回值
2.無參數(shù)無返回值
3.有參數(shù)無返回值
4.無參數(shù)有返回值
函數(shù)的指針標(biāo)識
this
指向當(dāng)前操作對象
callee
指向參數(shù)集合所屬函數(shù)
prototype
指向函數(shù)附帶的原型對象
constructor
指向創(chuàng)建該對象的構(gòu)造函數(shù)
函數(shù)的調(diào)用方法
1.在事件中調(diào)用
事件類型 = 函數(shù)名();
2.直接調(diào)用
函數(shù)名();
3.自執(zhí)行
**(function (){})();
4.在連接中調(diào)用
<a href="javascript:函數(shù)名()"></a>
函數(shù)的回調(diào)
把函數(shù)2當(dāng)做參數(shù)傳到函數(shù)1里面罚拟,在函數(shù)1里面調(diào)用函數(shù)2喉酌,就叫函數(shù)回調(diào)。
函數(shù)的返回值
函數(shù)里面寫了return之后鹿霸,下面不能寫代碼,不會被執(zhí)行
當(dāng)調(diào)用這個函數(shù)之后秆乳,可以接收到什么東西懦鼠。可以在函數(shù)里面通過return 返回值名來返回
函數(shù)的閉包
函數(shù)內(nèi)部的函數(shù)就是閉包
閉包的兩個基本作用:
1.每次訪問函數(shù)1得到的函數(shù)2的函數(shù)是不一樣的函數(shù)屹堰。他們的空間不是同一塊內(nèi)存空間
2.通過閉包可以訪問函數(shù)內(nèi)部的局部變量
函數(shù)的遞歸
在函數(shù)內(nèi)部調(diào)用自己這個函數(shù)肛冶,這樣會形成一個死循環(huán),所以使用遞歸的時候必須給程序一個出口扯键。