平时chrome调试遇见的 浏览器优化

js基础:在一个事件处理器(click)会形成一个闭包,可以访问外层的变量。形成了一个闭包。
故原则上所有的外层变量都可以被访问到,但是今天调试最新版本的chrome时候,发现 当事件回调里面没有使用某一个变量时,会直接被销毁。这样的话可以优化内存。
触发事件时的断点:



闭包

此时该作用域应该可以访问到外面的start_pos变量,但是事实上没有。说明chrome进行了优化。
当在内部加上start_pos访问时,可以看见可以访问到,该变量没有被销毁。
如下图所示:

猜你喜欢

转载自317948915.iteye.com/blog/2348680