函數(shù)
1.定義
2.函數(shù)的聲明方式
1)以function關(guān)鍵字
2)以字面量形式聲明(匿名函數(shù))
3)實例化構(gòu)造函數(shù)的方式
3.函數(shù)在頁面加載的時候 以function關(guān)鍵字聲明的會被優(yōu)先解析
4.調(diào)用函數(shù)的方式
1)函數(shù)名() 變量名()
2)在事件后面調(diào)用
3)函數(shù)的自調(diào)用
5.參數(shù)
1)參數(shù)的個數(shù)可以有很多個
2)參數(shù)的類型可以是任意數(shù)據(jù)類型
3)把函數(shù)的功能變得更加多樣化
4)參數(shù)的初始化 給參數(shù)定義默認的值
5)當(dāng)實參的個數(shù)大于形參的個數(shù)
6)arguments對象
arguments[0]下標
arguments.length 參數(shù)的個數(shù)
arguments.callee 在函數(shù)的內(nèi)部訪問整個函數(shù)
7)模擬函數(shù)重載
console.log()
6.返回值
》1.將函數(shù)運行的結(jié)果保留下來 提供給后續(xù)代碼使用
》2.函數(shù)可以沒有返回值
》3.函數(shù)的返回值可以是各種類型的,包括空值
》4.函數(shù)體中return執(zhí)行之后的代碼都不再執(zhí)行
》5.return返回值只能有一個
7.作用域
一段代碼起作用的范圍
全局環(huán)境 所有代碼運行的地方 樓
函數(shù)環(huán)境 function(){}在函數(shù)體中的代碼 教室
全局變量 在函數(shù)的外部定義的變量
局部變量 在函數(shù)的內(nèi)部定義的變量
變量的作用域 就是在定義變量的環(huán)境當(dāng)中的任意位置
1)全局變量不僅可以在函數(shù)外部使用也可以在函數(shù)內(nèi)部使用
2)局部變量只能在函數(shù)內(nèi)部使用
形參 相當(dāng)于局部變量
同時能訪問到局部變量和全局變量的時候 會使用局部變量
函數(shù)的作用域和變量一樣
作用域鏈 所有的作用域可以看做使用一個鏈條連接起來的 訪問變量的時候 會沿著這個鏈條一直往下找
8."use strict"對語法要求更嚴格
9.回調(diào)函數(shù)
把一個函數(shù)的指針做為另一個函數(shù)的參數(shù),當(dāng)調(diào)用這個參數(shù)的時候,這個函數(shù)就叫做回調(diào)函數(shù)。
function a(callback){
callback()
}
a(function(){})
10.遞歸函數(shù)
在函數(shù)的內(nèi)部調(diào)用自己
特點:有參數(shù) 有判斷
每次遞歸調(diào)用自己的時候參數(shù)都是有變化的
11.閉包函數(shù)/內(nèi)嵌函數(shù)
