JavaScript 匿名函式與具名函式執行效率比較

admin發表於2019-06-05

下面就通過程式碼例項演示一下匿名函式和具名函式的執行效率。

關於兩種函式的具體概念和用法可以參閱如下兩篇文章:

(1).JavaScript function 函式一章節。

(2).JavaScript 匿名函式一章節。

一.匿名函式:

[JavaScript] 純文字檢視 複製程式碼
var count=100000000;
var sum=0;
var start=new Date();
while(count--){
  (function(){
    sum++
  })()
}
var end=new Date();
console.log(end-start);

a:3:{s:3:\"pic\";s:43:\"portal/201703/29/144746mqqtvqvid4dtfigq.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

用匿名函式的話,在本機執行時間是1314毫秒,不錯的一個數字。

二.具名函式:

[JavaScript] 純文字檢視 複製程式碼
var count=1000000;
var sum=0;
var start=new Date();
function done(){
  sum++
}
while(count--){
  done();
}
var end=new Date();
console.log(end-start);

a:3:{s:3:\"pic\";s:43:\"portal/201703/29/144837cisnepjtqosvve8o.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

很明顯具名函式的執行效率要高,這個也是非常好理解的。

具名函式只需要預編譯一次就可以了,以後直接可以呼叫執行,而匿名函式則需要每執行一次預編譯一次。

相關文章