8 Function類型
阿新 • • 發佈:2017-05-24
函數表達式 turn tro 有意思 clas blog 讀取 pre bsp
說起來 ECMAScript 中什麽最有意思,我想那莫過於函數了——而有意思的根源,則在於函數實際上是對象。
每個函數都是 Function 類型的實例,與其他引用類型一樣具有屬性和方法。
定義函數常用的有幾種方式?
方法一:定義
function sum (num1, num2) { return num1 + num2; }
方法二:表達式
var sum = function(num1, num2){ return num1 + num2; };
還一種是:
var sum = new Function("num1", "num2", "return num1 + num2"); //不推薦
方法一和方法二有什麽不同呢?
解析器在向執行環境中加載數據時,對函數聲明和函數表達式並非一視同仁。
解析器會率先讀取函數聲明,並使其在執行任何代碼之前可用(可以訪問);至於函數表達式,則必須等到解析器執行到它所在的代碼行,才會真正被解釋執行。
比如如下代碼能正常運行:
alert(sum(10,10)); function sum(num1, num2){ return num1 + num2; }
而下面代碼會出現錯誤:
alert(sum(10,10)); var sum = function(num1, num2){ return num1 + num2; };
8 Function類型