当前位置: 首页 > news >正文

不成立公司怎么做企业网站/竞价关键词优化软件

不成立公司怎么做企业网站,竞价关键词优化软件,网站建设与维护课程,wordpress po修改要想了解闭包先要了解作用域链和js的内存回收机制 作用域链 在理解闭包以前.最好能先理解一下作用域链的含义,简单来说,作用域链就是函数在定义的时候创建的,用于寻找使用到的变量的值的一个索引,而他内部的规则是,把函数自身的本地变量放在最前面,把自身的父级函数中的变量放…
要想了解闭包先要了解作用域链和js的内存回收机制

作用域链

在理解闭包以前.最好能先理解一下作用域链的含义,简单来说,作用域链就是函数在定义的时候创建的,用于寻找使用到的变量的值的一个索引,而他内部的规则是,把函数自身的本地变量放在最前面,把自身的父级函数中的变量放在其次,把再高一级函数中的变量放在更后面,以此类推直至全局对象为止.当函数中需要查询一个变量的值的时候,js解释器会去作用域链去查找,从最前面的本地变量中先找,如果没有找到对应的变量,则到下一级的链上找,一旦找到了变量,则不再继续.如果找到最后也没找到需要的变量,则解释器返回undefined.

js的内存回收机制

了解了作用域链,我们再来看看js的内存回收机制,一般来说,,一个函数在执行开始的时候,会给其中定义的变量划分内存空间保存,以备后面的语句所用,等到函数执行完毕返回了,这些变量就被认为是无用的了.对应的内存空间也就被回收了.下次再执行此函数的时候.,所有的变量又回到最初的状态.重新赋值使用:但是如果这个函数内部又嵌套了另一个函数.而这个函数是有可能在外部被调用到的.并且这个内部函数又使用了外部函数的某些变量的话.这种内存回收机制就会出现问题,如果在外部函数返回后,又直接调用了内部函数,那么内部函数就无法读取到他所需要的外部函数中变量的值了.所以js解释器在遇到函数定义的时候,会自动把函数和他可能使用的变量(包括本地变量和父级和祖先级函数的变量(自由变量)一起保存起来。也就是构建一个闭包这些变量也就不会被内存回收器回收。

闭包

闭包简单的说就是一个函数能访问外部函数的变量,这就是闭包 ,作用域的嵌套 而且嵌套关系永远存在。闭包外层定义的变量会一直存储在内存中,等待闭包内层作用域访问,这样我们就可以保存一些变量了。举例子:
  function fun() {var num = 10;function fun1() {num++;console.log(num);}return fun1;}var newFun = fun();newFun(); //11newFun(); //12newFun(); //13
//经典面试题<script>function fun(n, o) {console.log(o)return {fun: function (m) {return fun(m, n);}};}var bar = fun(0) //这个是第一层的函数fun  n=0 o=undefined  返回一个对象,对象里边有一个fun方法bar.fun(1) //执行对象里边的fun方法 闭包保存了n=0,再执行对象当中的fun是相当于 fun(1,0)bar.fun(2) //再执行对象当中的fun是相当于 fun(2,0)//    var b = fun(0).fun(1).fun(2).fun(3)var b = fun(0) //执行的是第一层的fun() 返回一个对象,对象中包含一个fun函数  n=0,o=undefindedvar b = fun(0).fun(1) //对象中的m=1,n=0 返回对象fun(1,0)var b = fun(0).fun(1).fun(2) // 还是用返回的对象fun(1,0).这个fun(1,0)是第一层的,所以此时n=1,m=2</script>
闭包的缺点是,因为内部闭包函数可以访问外部函数的变量,所以外部函数的变量不能被释放,如果闭包嵌套过多,会导致内存占用大,要合理使用闭包。
http://www.lbrq.cn/news/1370881.html

相关文章:

  • 网站关键词库/上百度推广的网站要多少钱
  • 沈阳和平三好街做网站/萧山seo
  • 东莞市网络公司/谷歌优化排名哪家强
  • 网站建设总体费用/网页seo
  • 提升学历要多少钱/福州seo排名公司
  • pc网站 手机网站 微信/网络推广费用高吗
  • 免费html5网站模板/推广普通话作文
  • 软件界面设计软件/seo优缺点
  • 高唐网站建设公司/站长seo查询工具
  • 株洲做网站客服电话/今日新闻热点10条
  • 低价货源网站/宁波seo网络推广定制多少钱
  • 网站源码模板/热门搜索排行榜
  • 门户网站开发视频/百度24小时人工电话
  • 网站怎么做跳转/百度2023免费下载
  • dreamweaver 企业网站模板/优化设计答案五年级上册
  • 网站搭建百家号/百度智能云
  • 网站源码怎么打开/企业seo优化
  • 企业网站建设的/小红书怎么推广
  • 珠海七中科技制作/苏州seo服务
  • 企业黄页网站源码/长尾关键词举例
  • 自学网站建设/武汉新闻最新消息
  • 网页站点不安全怎么办/2021国内最好用免费建站系统
  • 常州网上房地产官网/网站优化推广方案
  • 网站管理员要干些什么/什么是seo技术
  • 网站建设的价钱/网站seo排名优化方法
  • 秦皇岛网站制作多少钱/济南网站制作平台
  • 品牌网站建设解决/人工智能培训机构排名
  • php婚庆网站/seo优化的主要任务
  • 做网站需要会的软件/百度云官方网站
  • 石家庄做外贸网站建设/哈尔滨网站优化
  • JavaScript:编程世界中的“语盲”现象
  • IO流-对象流
  • 井盖识别数据集-2,700张图片 道路巡检 智能城市
  • 集成电路学习:什么是USB HID人机接口设备
  • ubuntu apt安装与dpkg安装相互之间的关系
  • SpringBoot与TurboGears2跨栈、整合AI服务、智能客服路由系统整合实战