一、函數的簡介
函數的定義
函數function
函數也是一個對象
函數中可以封裝一些功能(代碼),在需要時可以執行這些功能(代碼)
函數中可以保存一些代碼在需要的時候調用
使用typeof檢查一個函數對象時,會返回function
函數的定義方法
- 使用構造函數來創建一個函數對象
我們在實際開發中很少使用構造函數來創建一個函數對象
創建一個函數對象,可以將要封裝的代碼以字符串的形式傳遞給構造函數
var fun = new Function("console.log('hello');");
注意:
封裝到函數中代碼不會立即執行
函數中的代碼會在主函數調用的時候執行
調用函數語法:函數對象()
當調用函數時,函數中封裝的代碼會按照順序執行
以上這種使用構造函數來創建一個函數對象方法基本不用
//調用函數
fun();
- 使用函數聲明來創建一個函數
語法:
function 函數名([形參1,形參2…形參n]){ 語句 }
function fun(){
console.log("hello");
}
fun();
- 使用函數表達式來創建一個函數
語法:
var 函數名 = function([形參1,形參2…]){ 語句 }
var fun = function (){
console.log("abc");
}
fun();
二、函數的參數
定義一個用來求兩個數和的函數
可以在函數的()中來指定一個或多個形參(形式參數)
多個形參之間使用,隔開;聲明形參就相當於在函數內部聲明瞭對用的變量,但是並不賦值
function sum(a,b){
console.log(a+b);
}
在調用函數時,可以在()中指定實參(實際參數)
實際將會賦值給函數中對應的形參
sum(1,2);
調用函數時解析器不會檢查實參的類型, 所以要注意是否,有可能會接收到非法的參數,如果有可能則需要對參數進行類型的檢查
函數的實參可以時任意的數據類型
sum(213,"hello");
調用函數時,解析器也不會檢查實參的數量
多餘實參不會被賦值;如果實參的數量少於形參的數量,沒有對應實參的形參將是undefined
function sum1(a,b){
console.log("a = " +a);
console.log("b = "+b);
}
sum1(123);