js中的 "use strict" 做了什么?使用严格模式有什么优点?

看到github上很多代码里面用到"use strict";这句话。
查了一些资料只知道是ECMAScript5的新特性,有人翻译为严格模式,不加这一句话就很不严格吗?
有没有大神能详细的讲一下它的作用,严格模式会称为未来的标准模式吗?

阅读 21k
3 个回答

js作为一门一开始用于浏览器的脚本语言,容错性很好。所以有时候代码写得再丑再乱七八糟,也可以运行的。

"use strict"开启严格模式以后,一些js糟糕的特性都会被禁用,比如不能用with,也不能在意外的情况下给全局变量赋值。严格模式下的eval函数的行为和非严格模式的也不相同。具体题主可以去查阅一下严格模式到底限制了多少内容。

另外需要注意的是,严格模式虽然看似美好,但使用上也需要注意,推荐看下:"use strict"; 的正确使用

“use strict”是一个指令,指示解释器用更严格的方式检查代码。

新手上路,请多包涵

我在自己的blog中写了一篇关于javascript 严格模式的总结。基本上涵盖了所有的内容,你可以参考下 有问题可以交流.:JSMean.com

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题