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

网站建设APP的软件seo专业实战培训

网站建设APP的软件,seo专业实战培训,网页设计的特点有哪些,网站开发公司对比闭包的主要作用:实现数据私有,函数内定义的私有变量,外面可以使用访问,但不可以修改。 以统计调用次数的函数为例: 普通形式: let a 0;function fn() {a;console.log(a: ${a});} 闭包形式: …

闭包的主要作用:实现数据私有,函数内定义的私有变量,外面可以使用访问,但不可以修改。

以统计调用次数的函数为例:

普通形式:
let a = 0;function fn() {a++;console.log(`a: ${a}`);}

闭包形式:
    function count() {let a = 0;function fn() {a++;console.log(`a: ${a}`);}return fn;}const fun = count();

    一,为什么调用时要使用fun() 而不是直接count():

    • count() 只是返回了 fn 函数的引用,而没有执行 fn 函数。
    • fun() 是对 fn 函数的调用,它会执行 fn 函数的逻辑,即对局部变量 a 进行递增操作并打印其值。

    因此,为了执行 fn 函数的逻辑,你需要将 count() 的返回值赋值给一个变量,然后调用这个变量来执行 fn 函数。

    二,原理:

    闭包 fn 保留了对 count 函数内部局部变量 a 的引用,即使 count 函数执行完毕,a 的值仍然被保留。而在全局作用域中定义的 a 是一个新的变量,与闭包内部的 a 没有关联。因此,每次调用 fun() 都会操作闭包内部的 a,而不会受到全局变量 a 的影响。

    闭包产生的内存泄漏:

    示例代码:

        function fn() {let count = 1function fun() {count++console.log(`函数第${count}次执行`)}return fun}const res = fn()res() // 2res() // 3

    谁会产生内存泄漏:count变量

    借助于垃圾回收机制的 标记清除法 可以看出:

    ① result 是一个全局变量,代码执行完毕不会立即销毁

    ② result 使用 fn 函数

    ③ fn 用到 fun 函数

    ④ fun 函数里面用到 count

    ⑤ count 被引用就不会被回收,所以一直存在

    注意:不是所有内存泄漏都要手动回收,比如react里面很多闭包不能回收

    http://www.dtcms.com/wzjs/133055.html

    相关文章:

  • 涞源县住房和城乡建设局网站链接地址
  • 学校网站网站建设排名查询
  • 温州网站 公司万网域名注册查询
  • 河北企业建网站百度引擎搜索
  • wordpress标签大全长沙关键词优化平台
  • 网站建设都包括哪些百度客服在线咨询
  • wordpress主题结构seo顾问服务公司
  • 做美容仪器的网站百度搜索趋势
  • 笔杆子写作网站google adwords关键词工具
  • 建设网站需要多久网站检测中心
  • 免费java源代码网站网站底部友情链接代码
  • 天津做网站的网络公司品牌seo主要做什么
  • 新闻发布系统网站模板内容企业推广
  • 购物网站哪里建最好长春网站优化流程
  • 行业 专业 网站建设pc网站优化排名
  • 网站建设有没有做的必要网站推广计划
  • 网站icp备案代理营销中存在的问题及对策
  • dede古典网站模板竞价托管哪家专业
  • 怎么建立一个网站推广seo建设
  • 广东省建设工程安监局网站一键清理加速
  • 自己做qq头像的网站seo渠道
  • 网站建设网络推广武汉网站关键词推广
  • 嘉兴企业网站建设推广标题怎么写
  • 故宫博物院官网网站咋做的域名注册查询
  • 专业做网站开发人员优化方案
  • 江苏城乡建设部网站首页下列关于seo优化说法不正确的是
  • 管理的本质是什么广东seo网站优化公司
  • 响应式学校网站百度信息流广告平台
  • 金融网站策划泉州百度seo
  • 大连网站建设渠道抖音seo关键词优化怎么做