美文网首页
JavaScript 13

JavaScript 13

作者: 依依玖玥 | 来源:发表于2017-06-22 00:14 被阅读0次

    闭包

    概念:

    闭包就是能够读取其他函数内部变量的函数。

    (有权访问另一个函数作用域中的变量的函数。)

    (就是拿到本不该属于他的东西)

    作用:

    闭包可以用在许多地方。它的最大用处有两个,一个是可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。

    闭包注意问题:

    由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。

    优点:闭包可以让局部变量持久化

    作用域链

    概念:在一个函数中嵌套多个函数,并且各自定义的相同的变量名,当函数访问变量时,就形成了作用域链。

    查找顺序:从当前函数开始查找,如果没有找到,向上一级函数开始查找,直到找到为止,如果一直没有找到,则说明该变量未定义。

    作用域链明确表示:在变量解析过程中首先查找局部作用域,然后查找上层作用域

    垃圾回收:

    有两种策略来实现垃圾回收:标记清除 和 引用计数;

    标记清除:垃圾收集器在运行的时候会给存储在内存中的所有变量都加上标记,然后,它会去掉环境中的变量的标记和被环境中的变量引用的变量的标记,此后,如果变量再被标记则表示此变量准备被删除。 2008年为止,IE,Firefox,opera,chrome,Safari的javascript都用使用了该方式;

    引用计数:跟踪记录每个值被引用的次数,当声明一个变量并将一个引用类型的值赋给该变量时,这个值的引用次数就是1,如果这个值再被赋值给另一个变量,则引用次数加1。相反,如果一个变量脱离了该值的引用,则该值引用次数减1,当次数为0时,就会等待垃圾收集器的回收

    this(部分--后续更全面)

    this对象是在运行时基于函数的执行环境绑定的。在全局函数中,this等于window,而当函数被用作为某个对象的方法调用时,this等于那个对象。不过匿名函数的执行环境具有全局性,因此其this对象通常指向window。

    js动画(上)

    offsetParent
    只读 属性  返回离当前元素最近的一个有定位属性的父节点

    如果没有定位父级, 默认是body

    offsetLeft

    若无定位父级,则offsetLeft属性来返回元素的X坐标。

    只读  属性  当前元素到定位父级的距离(偏移值)

    到当前元素的offsetParent的距离

    offsetLeft可以判断一个物体的跟document的左边距离,也就是浏览器左边缘。

    obj.offsetLeft 指 obj 距离左方或上层控件的位置,整型,单位像素。

    offsetTop

    若无定位父级,则offsetTop属性来返回元素的Y坐标。

    obj.offsetTop 指 obj 距离上方或上层控件的位置,整型,单位像素。

    用时间积累经验,你不比任何人差,相信自己,不放弃,不回头,不退缩,加油!!!

    相关文章

      网友评论

          本文标题:JavaScript 13

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