JavaScript内容溢出与内容泄漏的相关问题

简介: JavaScript内容溢出与内容泄漏的相关问题

内存溢出

  • 一种程序运行出现的错误
  • 当程序运行需要的内存超过了剩余的内存时, 就出抛出内存溢出的错误
内存溢出导致网页卡死varobj= {}
for (vari=0; i<100000; i++) {
obj[i] =newArray(10000000)
  }
  • 内存泄露
  • 占用的内存没有及时释放
  • 内存泄露积累多了就容易导致内存溢出
  • 常见的内存泄露:
  • 意外的全局变量
  • 没有及时清理的计时器或回调函数
  • 闭包
内存泄漏导致内存溢出// 意外的全局变量functionfn () {
a= [] //不小心没有var定义}
fn()
// 没有及时清理的计时器setInterval(function  () {
console.log('----')
}, 1000)
// clearInterval(intervalId)// 闭包functionfn1() {
vara=4functionfn2() {
console.log(++a)
  }
returnfn2}
varf=fn1()
f()
// f = null
相关文章
|
3月前
|
Web App开发 数据采集 JavaScript
有JavaScript动态加载的内容如何抓取
有JavaScript动态加载的内容如何抓取
|
7月前
|
JavaScript 前端开发 索引
JavaScript字符串检查:从基础到高级
【2月更文挑战第26天】
70 0
JavaScript字符串检查:从基础到高级
|
JavaScript 前端开发
Javascript知识【元素内容体实操案例】
案例:对元素内容体的实操案例练习
Javascript知识【元素内容体实操案例】
|
Web App开发 JavaScript 前端开发
|
存储 JavaScript 前端开发
《JavaScript启示录》——1.13 如何存储或复制复杂值
复杂值是通过引用进行存储和操作的,理解这一点相当重要。创建一个包含复杂对象的变量时,其值是内存中的一个引用地址。引用一个复杂对象时,使用它的名称(即变量或对象属性)通过内存中的引用地址获取该对象值。当考虑试图复制一个复杂值时会发生什么事的时候,这就非常重要了。
1254 0