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

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

其中一些调整可能是:

  • 切勿在call / apply方法中将null / undefined用作第一个参数。
  • 不要在函数内部创建新的全局变量。

问题:

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

  2. 无论如何,我应该开始关注strict mode吗? 我的意思是盲目的采用它是一种好习惯吗?

===============>>#1 票数:3 已采纳

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

    话虽这么说,我相当确定jQuery现在是ES5-Strict兼容的。 一旦实现了该语言的实现(以便可以测试该前提),我将很乐意将jQuery切换为仅在严格模式下工作。

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

关于严格模式的更多信息:

===============>>#2 票数:2

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

即使不是这样,您的工作也不会丢失,因为通过坚持严格的模式,您可以使代码变得更好(这迫使您避免某些错误)。

  ask by Igor Parra translate from so

未解决问题?本站智能推荐: