文章配套視頻
對象的定義
函數(shù)也是一個(gè)對象
函數(shù)就是可以重復(fù)執(zhí)行的代碼塊
函數(shù)就是完成特定功能的一段代碼
使用typeof檢查一個(gè)函數(shù)對象時(shí),會返回function
作用
因?yàn)橐徊糠执a使用次數(shù)可能會很多,所以封裝起來,需要的時(shí)候調(diào)用就可以了。
1)將復(fù)雜的事情簡單化
2)將重復(fù)使用的代碼進(jìn)行統(tǒng)一封裝
特點(diǎn):
1)封裝到函數(shù)中的代碼不會立即執(zhí)行
2)函數(shù)中的代碼會在函數(shù)調(diào)用的時(shí)候執(zhí)行
3)調(diào)用函數(shù) 語法:函數(shù)對象()
4)調(diào)用函數(shù)時(shí),函數(shù)中封裝的代碼會按照順序執(zhí)行
基本使用
不常用:
var fun = new Function("console.log('大家好, 我是函數(shù)!');");
常用
函數(shù)定義:
function 函數(shù)名([形參1,形參2, ...,形參N]){
函數(shù)體
}
函數(shù)調(diào)用
函數(shù)名();
常見的聲明方式
1) 函數(shù)聲明方式
function add(num1,num2){
return num1+num2;
}
2) 函數(shù)表達(dá)式聲明方式
var add= function(num1,num2){
return num1+num2;
};
3) 使用Function構(gòu)造函數(shù)
var add = new Function('num1','num2','return num1+num2');
不推薦使用, 主要用于面向?qū)ο髸r(shí)理解"函數(shù)就是對象, 函數(shù)名就是指針"這一概念
快速入門
計(jì)算1+3
函數(shù)的參數(shù)
為什么要設(shè)置參數(shù)?
為了增強(qiáng)函數(shù)的功能性和函數(shù)的可拓展性,便于交互。
形參:
1)形式上參與運(yùn)算的變量,無實(shí)際值,為實(shí)參占位置,就像一個(gè)軀殼一樣。
2)function f(a,b){} //a,b是形參,占位用,函數(shù)定義時(shí)形參無值
實(shí)參:
1)實(shí)際參與運(yùn)算的變量。形參為他占位置,真實(shí)參與運(yùn)算的變量。
2)f(x, y); //x, y實(shí)參,有具體的值,會把x, y復(fù)制一份給函數(shù)內(nèi)部的a和b,函數(shù)內(nèi)部的值是復(fù)制的新值,無法修改外部的x,y
注意:在其它語言中實(shí)參個(gè)數(shù)必須和形參個(gè)數(shù)一致,
但是JavaScript中沒有函數(shù)簽名的概念,實(shí)參個(gè)數(shù)和形參個(gè)數(shù)可以不相等