函數(shù) function
函數(shù)也是一個(gè)對(duì)象
函數(shù)中可以封裝一些功能(代碼)柿冲,在需要時(shí)可以執(zhí)行這些功能(代碼)
函數(shù)中可以保存一些代碼在需要的時(shí)候調(diào)用
使用typeof檢查一個(gè)函數(shù)對(duì)象時(shí)较性,會(huì)返回function
可以將要封裝的代碼以字符串的形式傳遞給構(gòu)造函數(shù)(我們在實(shí)際開發(fā)中很少使用構(gòu)造函數(shù)來創(chuàng)建一個(gè)函數(shù)對(duì)象)
var fun = new Function("console.log('Hello 這是我的第一個(gè)函數(shù)');");
封裝到函數(shù)中的代碼不會(huì)立即執(zhí)行
函數(shù)中的代碼會(huì)在函數(shù)調(diào)用的時(shí)候執(zhí)行
調(diào)用函數(shù)?
語法:函數(shù)對(duì)象([實(shí)參1,實(shí)參2...實(shí)參N]);
當(dāng)調(diào)用函數(shù)時(shí),函數(shù)中封裝的代碼會(huì)按照順序執(zhí)行
使用 函數(shù)聲明 來創(chuàng)建一個(gè)函數(shù)
語法:
function 函數(shù)名([形參1,形參2...形參N]){
?語句...
? }
使用 函數(shù)表達(dá)式 來創(chuàng)建一個(gè)函數(shù)
var 函數(shù)名? = function([形參1,形參2...形參N]){
?語句....
? }
函數(shù)的參數(shù)
形參:形式參數(shù)
- 定義函數(shù)時(shí)蜘腌,可以在()中定義一個(gè)或多個(gè)形參,形參之間使用,隔開
定義形參就相當(dāng)于在函數(shù)內(nèi)聲明了對(duì)應(yīng)的變量但是并不賦值饵隙,
形參會(huì)在調(diào)用時(shí)才賦值撮珠。
實(shí)參:實(shí)際參數(shù)
- 調(diào)用函數(shù)時(shí),可以在()傳遞實(shí)參金矛,傳遞的實(shí)參會(huì)賦值給對(duì)應(yīng)的形參,
調(diào)用函數(shù)時(shí)JS解析器不會(huì)檢查實(shí)參的類型和個(gè)數(shù)芯急,可以傳遞任意數(shù)據(jù)類型的值,如果有可能則需要對(duì)參數(shù)進(jìn)行類型的檢查驶俊。函數(shù)的實(shí)參可以是任意的數(shù)據(jù)類型
調(diào)用函數(shù)時(shí)娶耍,解析器也不會(huì)檢查實(shí)參的數(shù)量 ,如果實(shí)參的數(shù)量大于形參饼酿,多余實(shí)參將不會(huì)賦值榕酒,
如果實(shí)參的數(shù)量小于形參,則沒有對(duì)應(yīng)實(shí)參的形參將會(huì)賦值undefined