Function 類型
?
函數是對象 具有屬性和方法,函數名實際上是一個指向函數對象的指針
沒有重載;
?
函數聲明和函數表達式
函數聲明:
function sum (num1, num2){
? return num1 + num2;
}
函數表達式:
var sum = function(num1, num2){
? return num1 + num2;
}; ? ? ? // ?這里是有分號的
?
二者基本上沒有太大的區別,值得注意的是,函數表達式后面是有分號的;
還有一點就是,函數聲明之前是可以調用函數的,因為解析器會率先讀取函數聲明,(函數聲明提升)
例如:alert(sum(10, 10));
? ? ? ? ?function sum(num1, num2){
? ? ? ? ? ?return num1 + num2;
? ? ? ? } ? ? // 這段代碼是可以正常運行的
而函數表達式則不可以:
alert(sum(10, 10));
var sum = funtion(num1, num2){
? return num1 + num2;
}; ? ? ?// ?這段代碼則會報錯
?
?
作為值的函數
在ECMAScript中的函數名本身就是變量,所以函數也可以作為值來使用。