函數在JS中也是一個對象,它具有其它對象的所有功能,函數中可以存儲代碼,且可以在需要的時候調用這些代碼 函數的操作 函數的定義 函數聲明 function 函數名([參數列表]) { // 函數體 return 返回值; } 函數表達式 const 函數名 = function([參數列表]) { ...
函數在JS中也是一個對象,它具有其它對象的所有功能,函數中可以存儲代碼,且可以在需要的時候調用這些代碼
函數的操作
函數的定義
- 函數聲明
function 函數名([參數列表]) {
// 函數體
return 返回值;
}
- 函數表達式
const 函數名 = function([參數列表]) {
return 返回值;
}
- 箭頭函數
const 函數名稱 = ([參數列表]) => {
return 返回值;
}
const 函數名稱 = ([參數列表]) => console.log("箭頭函數");
函數的調用
函數名稱(參數1,參數2,.....);
函數的類型
function fn(){
console.log("我是牛逼")
}
// 返回function
console.log(typeof fn)
函數的參數
參數
:
- 如果實參和形參相同,那麼對應的實參會賦值給形參
- 如果實參多於形參,則多餘的實參不會使用
- 如果形參多於實參,則多餘的形參為undefined
註意
:JS不檢查的參數的類型,任何類型都可以作為參數傳遞
箭頭函數的參數
- 我們用箭頭函數作為參數的時候,只有一個參數的時候,可以省略()
- 定義參數時,我們可以指定預設值
- 箭頭函數沒有arguments
- 箭頭函數的 this 不能修改
const fn = (a,b) => {
console.log('a=',a);
console.log('b=',b);
}
// 當我們箭頭函數,只有一個參數時,可以省略()
const fn2 = a => {
console.log('a =',a);
}
// 定義參數的時候,我們可以指定預設值
const fn3 = (a = 10,b = 20,c = 0) => {
console.log('a = ',a);
console.log('b = ',b);
console.log('c = ',c);
}
對象作為參數
註意
:
- 我們傳遞參數的時候,我們傳遞的是變數中的值,而不是變數本身
- 函數每次調用,都會重新創建一個新的對象
function fn(a) {
a.name = '