6.理解堆栈溢出和内存泄漏的原理,如何防止

6.理解堆栈溢出和内存泄漏的原理,如何防止

内存泄漏

申请的内存执行完之后没有及时的清理和销毁,占用空闲内存,既不能使用也不能回收。 几种会导致内存泄露的情况:

意外的全局变量

被以往的计时器或回调函数

脱离DOM的引用(分离的DOM节点)

解决办法

我是子元素

我是子元素

堆栈溢出

一般出现在递归中,

解决办法: 利用闭包和tramopoline(蹦床原理)来解决 使用计时器或者闭包解决

蹦床函数是不断调用函数的返回值,直到它不再是一个函数

在 JavaScript 中使用递归是不安全的,

function isEven(n) {

function isEvenInner(n) {

if (n === 0) return true

if (n === 1) return false

return isEven(Math.abs(n) - 2)

}

function trampoline(func,arg) {

var value=fun(arg)

while (typeof value==='function') value=value()

return value

}

return trampoline.bind(null,isEvenInner)(n)

}

相关推荐

日落骑士
365彩票数据最专业

日落骑士

📅 01-20 👁️ 5077
《剑网3​》霸刀门派日常玩法
365彩票数据最专业

《剑网3​》霸刀门派日常玩法

📅 08-16 👁️ 3235
IU黑粉留言被判刑8個月 網民噁:是有多嚴重才被判刑
365账号限制投注怎么办

IU黑粉留言被判刑8個月 網民噁:是有多嚴重才被判刑

📅 08-11 👁️ 9248
怎么破坏电视机
365彩票数据最专业

怎么破坏电视机

📅 01-11 👁️ 3623
jQuery AJAX 错误处理(HTTP 状态码)
365彩票数据最专业

jQuery AJAX 错误处理(HTTP 状态码)

📅 11-04 👁️ 5914
如何在手机上安全隐藏视频文件的方法详解
365账号限制投注怎么办

如何在手机上安全隐藏视频文件的方法详解

📅 01-14 👁️ 1394
Photoshop制作线稿图片的方法
365账号限制投注怎么办

Photoshop制作线稿图片的方法

📅 07-14 👁️ 4670
智能电视频繁死机?一文教你如何快速解决!
除了 WebRTC 和 RTC,还有哪些实时通讯技术?