當前位置:編程學習大全網 - 編程軟體 - 關於JS調用棧chicken egg 函數溢出問題,求教大神

關於JS調用棧chicken egg 函數溢出問題,求教大神

首先,妳給出的這個函數 是個嚴重有缺陷的調用,他會無限遞歸最終內存溢出,

其次 妳這段代碼是要運行在什麽地方,如果運行在瀏覽器中,不同瀏覽器解析到這段代碼都會主動報錯,不會調用,如果妳運行在node環境,這段代碼運行會依照妳物理內存大小 和系統內存分配方法進行調用 最終爆掉,很顯然,妳的問題沒有完整的條件

記錄這個調用也很簡單,在函數外部聲明壹個變量 並且賦值為0;並且在調用的時候給這個變量做自增操作,最後的數據就是完成調用到溢出的調用次數。

關於內存結構,假設壹個 數據類型是整數,8字節 ,這句話本身就是個問題,首先Var A = 1這是聲明了壹個 類型為整數的 變量,這個時候 他在棧中聲明了壹個東西叫A 同時 指向了池的1 所以 這個8字節代表了2部分,他的棧空間占用就是最終調用函數的次數;不管是什麽數據類型,變了的聲明都是在棧中,數據都在池裏面。如果只是聲明了 var A 但是並不賦值,此時他在內存結構中 只會占用棧空間,但是沒有數據類型;跟沒有整數,字符串,數組,對象,undiluted,這樣的數據類型之分了。

我個人覺得,這要麽是壹個非常刁鉆的考試題,要麽就是不知道誰腦子有毛病想出來的,顯然這是壹個非常不科學的題目,實際情況程序是根本跑不起來的,

  • 上一篇:遠程linux系統發送命令到遠端遠程linux系統
  • 下一篇:編帶燒錄機選什麽品牌好,求推薦?
  • copyright 2024編程學習大全網