激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務(wù)器之家 - 編程語(yǔ)言 - JavaScript - JavaScript中匿名、命名函數(shù)的性能測(cè)試

JavaScript中匿名、命名函數(shù)的性能測(cè)試

2021-03-08 16:08JavaScript教程網(wǎng) JavaScript

這篇文章主要介紹了JavaScript中匿名、命名函數(shù)的性能測(cè)試,簡(jiǎn)單來講匿名即沒有名字的函數(shù),它和命名函數(shù)相比性能如何呢,本文即是對(duì)它們性能的測(cè)試,需要的朋友可以參考下

我們經(jīng)常通過匿名函數(shù)(Anonymous function)來寫回調(diào)。

簡(jiǎn)單來講匿名即沒有名字的函數(shù),一般都立即執(zhí)行。但是它與命名函數(shù)(有名字的函數(shù))的性能如何呢?

我們可以比較一下,我們隨便找一臺(tái)可以執(zhí)行Shell命令的計(jì)算機(jī)來使用大量函數(shù)調(diào)用看一看二者執(zhí)行消耗時(shí)間:

anonymous.js

復(fù)制代碼 代碼如下:

var count = 100000000
  , sum   = 0
while (count--) (function() { sum++ })()


執(zhí)行一下

復(fù)制代碼 代碼如下:

$ time node anonymous.js
real    0m1.456s
user    0m0.015s
sys     0m0.031s

 

再來看看命名函數(shù)

named.js

復(fù)制代碼 代碼如下:


var count = 100000000
  , sum   = 0

 

var cb = function() {
  sum++
}

while (count--) cb()


執(zhí)行一下

復(fù)制代碼 代碼如下:

$ time node named.js
real    0m0.575s
user    0m0.000s
sys     0m0.046s


命名函數(shù)會(huì)快很多,為什么會(huì)這樣呢?其實(shí)不難解釋,匿名函數(shù)每次都需要重新解釋回調(diào),但是命名函數(shù)只需要解釋一次,因此性能會(huì)有提升,但是測(cè)試發(fā)現(xiàn)這種提升是非常非常微小的,完全不必將非常順手的一個(gè)回調(diào)單獨(dú)寫成另外一個(gè)變量。

 

另外命名函數(shù)還有兩種寫法:

函數(shù)表達(dá)式

復(fù)制代碼 代碼如下:

var func = function() {
  console.log('a')
}


函數(shù)聲明

復(fù)制代碼 代碼如下:

function func() {
  console.log('b')
}


其實(shí)這兩個(gè)一起用的話可能會(huì)有問題,如

復(fù)制代碼 代碼如下:

var func = function() {
  console.log('a')
}
function func() {
  console.log('b')
}
//輸出為: a


因此目前多使用函數(shù)表達(dá)式的形式,但函數(shù)聲明的性能如何呢?

 

named2.js

復(fù)制代碼 代碼如下:


var count = 100000000
  , sum   = 0

 

function cb() {
  sum++
}

while (count--) cb()


執(zhí)行一下,并比較二者

復(fù)制代碼 代碼如下:


$ time node named.js
real    0m0.553s
user    0m0.000s
sys     0m0.015s

 

$ time node named2.js
real    0m0.529s
user    0m0.000s
sys     0m0.047s


似乎函數(shù)聲明會(huì)稍微快一點(diǎn)點(diǎn),不過快得也非常非常不明顯,個(gè)人還是建議函數(shù)聲明式寫法。

 

PS: 此數(shù)據(jù)均在Windows7下使用git-base測(cè)試。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: xxxxxx免费| 叉逼视频| 天天透天天狠天天爱综合97 | 国产精品久久久久久久久久久天堂 | 九九精品在线观看视频 | 欧美成人黄色小视频 | 亚洲人成网在线观看 | 一区二区三区四区五区中文字幕 | 国产三级在线视频观看 | 毛片118极品美女写真 | 99ri在线观看| 免费黄色小网站 | 欧美人xx| 老女人碰碰在线碰碰视频 | 国产精品视频免费看 | 成人爱爱电影 | 欧美精品成人一区二区在线观看 | 天天撸日日夜夜 | 二区视频| 噜噜色av| 九九热视频免费观看 | 国产1区2区3区在线观看 | 7777视频| 一级网站片 | 免费91在线 | 免费一级电影 | 亚洲欧洲日产v特级毛片 | 久久久久久久高清 | 黄色网欧美| 免费视频99 | 久草在线视频新 | av电影免费播放 | 免费观看一级淫片 | 一区二区三区日韩在线观看 | 国产一区二区三区网站 | 狠狠久久伊人中文字幕 | 成人在线观看免费视频 | 国产91久久久 | 亚洲一区二区三区高清视频 | 久久国产成人午夜av浪潮 | av在线免费观看不卡 |