为什么单独依赖范围链并避免在Javascript中显式引用头对象是有益
发布时间:2020-12-14 04:55:10 所属栏目:百科 来源:网络整理
导读:我一直在读Cody Lindley的这本书“ Javascript Enlightenment”.在第82页,他指出:“显式(例如window.alert()vs alert())在性能方面要花费更多.如果单独依赖范围链并避免显式引用头对象,则速度会更快你知道你想要的属性包含在全局范围内.“ 我有点好奇为什么
我一直在读Cody Lindley的这本书“
Javascript Enlightenment”.在第82页,他指出:“显式(例如window.alert()vs alert())在性能方面要花费更多.如果单独依赖范围链并避免显式引用头对象,则速度会更快你知道你想要的属性包含在全局范围内.“
我有点好奇为什么会这样.我认为这是相反的,因为Javascript解释器可以跳过检查范围并直接找到它.我只是没有看到没有指定某些东西的确切地址是多么有益. 我的意思是,我知道我不打算输入window.whatever()每次我想使用全局范围中包含的东西时,我认为没有指定它会更快.只是不确定为什么. 只是其中一个“想知道”的事情. 解决方法
解释器总是必须使用范围链.当你写window.alert(),它走它的方式作用域链查找窗口的值 – 你可能有一个局部变量命名窗口阴影的一个在头部,所以也不能认为这是全球对象.
如果JavaScript具有明确表示顶级上下文的语法,那么会更快.但事实并非如此. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |