美文网首页深入JavaScript
深入JavaScript Day04 - 闭包、this的四种绑

深入JavaScript Day04 - 闭包、this的四种绑

作者: 望穿秋水小作坊 | 来源:发表于2022-01-12 14:44 被阅读0次

    一、闭包补充

    1、闭包是如何导致内存泄漏的?如何解决?

    • window【持有】了闭包函数,闭包函数【持有】了父级AO
    • 后续不再使用闭包函数了,但是闭包函数持有的父级AO始终不能释放
      -【解决方案】将window持有的闭包函数,指向null
    image.png

    2、借助Chrome的性能分析,来验证闭包的持有对象不释放问题?(思路很重要)

    image.png

    3、如果闭包持有的父级AO中,仅仅使用name,而未使用age,那么age也会被持有吗?

    • age不会被闭包持有
    • 从浏览器的bugger模式可以看到
    image.png

    二、this的四种绑定情况

    1、this指向其实是有点难知识点,那么为什么JavaScript开发中需要this呢?

    • 有this的代码,将获得更好的灵活性、扩展性
    • 比如下面代码,没有使用this,那么逻辑代码将和变量名绑定,耦合度就会很高,也不易扩展
    image.png

    2、浏览器中,在全局作用域下,this指向谁?

    • 指向window

    3、从下面代码,对于this有什么感悟?

    image.png
    • this的绑定和定义的位置(编写的位置)没有关系
    • this是运行时被绑定的

    4、默认绑定?

    image.png

    5、隐式绑定?

    image.png

    6、显示绑定?

    image.png

    7、new绑定

    image.png

    8、call、apply、bind的区别?

    image.png

    9、四种绑定规则的优先级?

    image.png

    相关文章

      网友评论

        本文标题:深入JavaScript Day04 - 闭包、this的四种绑

        本文链接:https://www.haomeiwen.com/subject/wpswcrtx.html