2

阅读 ECMAScript 5 的严格模式后,我了解到:

某些语言功能如此普遍,以至于执行运行时检查会产生相当大的性能成本。一些严格模式调整,加上要求用户提交的 JavaScript 是严格模式代码并以某种方式调用,大大减少了对这些运行时检查的需求。

其中一些调整可能是:

  • 永远不要在/方法中使用null/undefined作为第一个参数。callapply
  • 不要在函数内创建新的全局变量。

问题:

  1. 是否有一些以严格模式编写的 JavaScript 框架?所以我们可以相信我们的“严格”代码不会被浪费?

  2. strict mode无论如何我都应该开始关注吗?我的意思是它被盲目地采用为一种好的做法吗?

4

2 回答 2

3
  1. 是的,大多数框架已经开始使用严格模式。也许还没有完成,但距离很近。 约翰·雷西格:

    话虽如此,我相当肯定 jQuery 现在是 ES5-Strict 兼容的。一旦该语言的实现可用(以便可以测试该前提),我会很高兴地将 jQuery 切换到仅在严格模式下工作。

  2. 建议使用,但不是必需的。如果您现在开始使用严格模式,您将习惯它,因此您将为新标准做好准备。

更多关于严格模式:

于 2011-12-11T19:01:03.397 回答
2

AFAIK jQuery 是在严格模式下编写的(编辑:不是这样,但作者说它是兼容的)。Crockford 的 jslint 一开始就使用了“use strict”(我前几天看到源代码)。我会说几乎所有能够负担得起的现代框架都是严格模式,因为它是框架本身的一个加分点。

即使不是这样,您的工作也不会丢失,因为通过遵守严格模式,您可以使您的代码更好(它迫使您避免一些罪恶)。

于 2011-12-11T19:00:41.913 回答