一、定義函數的方法
(1)函數聲明
(2)函數表達式
二、函數聲明方法定義函數
function functionName(arg0, arg1, arg2) { // 函數體 }
(1)FireFox、Safari、Chrome和Opera都給函數定義了一個非標准的name屬性,通過這個屬性可以訪問到給函數指定的名字
alert(functionName.name); // "functionName"5
(2)關於函數聲明,它的一個重要的特征就是函數聲明提升,意思是在執行代碼之前會先讀取函數聲明,這就意味着可以把函數聲明放在調用它的語句后面
sayHi(); function sayHi() { alert("Hi!"); }
三、使用函數表達式定義函數
var functionName = function(arg0, arg1, arg2) { // 函數體 }
(1)這種情況下創建的函數叫做匿名函數,因為function關鍵字后面沒有標識符;匿名函數的name屬性是空字符串;
(2)匿名函數與其他表達式一樣,在使用前必須賦值;以下代碼會導致錯誤
sayHi(); // 錯誤:函數還不存在 function sayHi() { alert("Hi!"); }