一般来说,在浏览器中以严格模式执行javascript会让它的性能更高吗?在严格模式下,是否有主流浏览器做了额外的优化或使用其他技术来提高性能?
换句话说,严格模式的目的之一是允许浏览器引入额外的优化或其他性能增强吗?
发布于 2011-01-10 07:50:26
是严格模式,其目标之一是允许浏览器引入额外的优化或其他性能增强?
我不确定它是否打算这样做,尽管我认为答案是肯定的。
但我可以肯定地说,严格模式确实提供了这些机会,浏览器将实现这些机会--不管提供这些机会是否是ECMA委员会的有意目标。然而,我不会期望所有这些机会都能立即被抓住。在许多情况下,咒语很可能是先正确,后执行,因为严格模式目前还没有被广泛使用。(我在Mozilla的JavaScript引擎上工作,并且已经实现了严格模式的各个部分,我们以这种方式实现它作为一般规则--尽管如果我尝试一下,我可能会想到一两个例外。)
发布于 2010-06-30 10:22:27
严格模式实际上与性能无关,它是语言的,它的主要目标是避免那些被认为容易出错的特性。
基本上,它的目标是使语言更安全,引入了许多语义更改,还进行了额外的错误检查,并且错误是嘈杂的,在非严格的代码中,事情只会默默地失败。
关于性能,我认为浏览器厂商现在很难实现严格模式,问题是JS引擎大多基于ECMAScript 3,实现严格模式并不容易,因为严格的范围非常灵活,你可以混合非严格和严格的代码。
另请参阅:
发布于 2011-05-24 05:52:27
在大多数情况下,no。如果仔细研究ECMAScript 5标准文档,您会注意到几乎所有在伪代码算法中出现的严格模式都相当于:
if (isStrictMode) {
//throw an (early) SyntaxError or TypeError
}
else {
//return
}关于这一点有两点需要注意:
在很大程度上是无法测量的
https://stackoverflow.com/questions/3145966
复制相似问题