美文网首页
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