欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript支持的最大遞歸調(diào)用次數(shù)分析

 更新時間:2014年06月24日 10:44:56   投稿:junjie  
這篇文章主要介紹了JavaScript支持的最大遞歸調(diào)用次數(shù)分析,也稱JavaScript支持的最大堆棧數(shù)量,需要的朋友可以參考下

你對JavaScript引擎能進(jìn)行多少次遞歸調(diào)用好奇嗎?

多少次遞歸調(diào)用

下面的函數(shù)可以讓你找到答案: (靈感來自Ben Alman的 gist)

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

function computeMaxCallStackSize() {
    try {
        return 1 + computeMaxCallStackSize();
    } catch (e) {
        // Call stack overflow
        return 1;
    }
}

三個結(jié)果:

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

Node.js: 11034
Firefox: 50994
Chrome: 10402

這些數(shù)字代表什么?Aleph先生指出,在V8中,遞歸調(diào)用的數(shù)量取決于兩個量:堆棧的大小和堆棧幀(保存參數(shù)的局部變量)的大小。你可以通過在  computeMaxCallStackSize() 添加局部變量進(jìn)行驗證 - 它會返回低位值。

在ECMAScript 6中的尾部調(diào)用(Tail call)優(yōu)化

ES6 有尾部調(diào)用優(yōu)化 :如果一個函數(shù)中的最后一步也是一個函數(shù)調(diào)用,它會被“跳”過,而不是通過子函數(shù)調(diào)用。這就意味著在ES6(嚴(yán)格模式)下,你只要稍微改一下computeMaxCallStackSize函數(shù),它就可以永遠(yuǎn)執(zhí)行下去。

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

function computeMaxCallStackSize(size) {
    size = size || 1;
    return computeMaxCallStackSize(size + 1);
}

相關(guān)文章

  • layui框架教程

    layui框架教程

    layui是一套開源的 Web UI 解決方案,采用自身經(jīng)典的模塊化規(guī)范,并遵循原生 HTML/CSS/JS 的開發(fā)方式,常適合網(wǎng)頁界面的快速開發(fā),這篇文章主要介紹了layui框架教程,需要的朋友可以參考下
    2022-09-09
  • 淺談TypeScript 用 Webpack/ts-node 運行的配置記錄

    淺談TypeScript 用 Webpack/ts-node 運行的配置記錄

    這篇文章主要介紹了淺談TypeScript 用 Webpack/ts-node 運行的配置記錄,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • JS實現(xiàn)簡單控制視頻播放倍速的實例代碼

    JS實現(xiàn)簡單控制視頻播放倍速的實例代碼

    這篇文章主要介紹了通過JS來實現(xiàn)簡單控制視頻播放倍速,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • 通過javascript的匿名函數(shù)來分析幾段簡單有趣的代碼

    通過javascript的匿名函數(shù)來分析幾段簡單有趣的代碼

    想起自己很久以前學(xué)習(xí)javascript的經(jīng)歷,也曾經(jīng)碰到過幾個由匿名函數(shù)造成的困擾(其中一個就是由閉包引起的),下面就整理幾段簡單代碼討論一下,讓我們大家一起進(jìn)步。
    2010-06-06
  • 前端解決跨域問題nmp安裝http-server的問題

    前端解決跨域問題nmp安裝http-server的問題

    這篇文章主要介紹了前端解決跨域問題-nmp安裝http-server的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • pageGroup.js實現(xiàn)分頁功能

    pageGroup.js實現(xiàn)分頁功能

    這篇文章主要為大家詳細(xì)介紹了pageGroup.js實現(xiàn)分頁功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • javascript實現(xiàn)自動填寫表單實例簡析

    javascript實現(xiàn)自動填寫表單實例簡析

    這篇文章主要介紹了javascript實現(xiàn)自動填寫表單的方法,以一個簡單實例形式分析了JavaScript結(jié)合瀏覽器設(shè)置實現(xiàn)自動保存表單的相關(guān)技巧,需要的朋友可以參考下
    2015-12-12
  • 非常不錯的[JS]Cookie精通之路

    非常不錯的[JS]Cookie精通之路

    Cookies,有些人喜歡它們,有些人憎恨它們。但是,很少有人真正知道如何使用它們?,F(xiàn)在你可以成為少數(shù)人中的成員-可以自傲的 Cookie 大師。
    2008-06-06
  • JS常用的幾種數(shù)組遍歷方式以及性能分析對比實例詳解

    JS常用的幾種數(shù)組遍歷方式以及性能分析對比實例詳解

    這篇文章主要介紹了JS常用的幾種數(shù)組遍歷方式以及性能分析對比,結(jié)合實例形式詳細(xì)分析了javascript針對數(shù)組遍歷的幾種常見使用方法及執(zhí)行效率對比,具有一定參考借鑒價值,需要的朋友可以參考下
    2018-04-04

最新評論