JavaScript 严格模式(use strict)

use strict" 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增。

它不是一条语句,但是是一个字面量表达式,在 JavaScript 旧版本中会被忽略。

"use strict" 的目的是指定代码在严格条件下执行。

严格模式下你不能使用未声明的变量。

  1. 不使用未声明的变量
  2. 不允许删除变量或对象
  3. 不允许删除函数
  4. 不允许变量重名
  5. 不允许使用8进制
  6. 不允许使用转义字符
  7. 不允许对只读属性赋值
  8. 不允许对一个使用getter方法读取的属性进行赋值
"use strict";
var obj = {get x() {return 0} };

obj.x = 3.14;            // 报错
  1. 不允许删除一个不允许删除的属性
  2. 变量名不能使用 "eval" 字符串,不允许arguments做变量名
  3. 由于一些安全原因,在作用域 eval() 创建的变量不能被调用:
"use strict";
eval ("var x = 2");
alert (x);               // 报错
  1. 禁止this关键字指向全局对象。
function f(){
    return !this;
} 
// 返回false,因为"this"指向全局对象,"!this"就是false

function f(){ 
    "use strict";
    return !this;
} 
// 返回true,因为严格模式下,this的值为undefined,所以"!this"为true。

保留关键字
为了向将来Javascript的新版本过渡,严格模式新增了一些保留关键字:

implements
interface
let
package
private
protected
public
static
yield
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 你是否每天都在后悔昨天有多少事没做...... 是否每一天又在计划新的计划...... 第二天又因为各种各样的事把...
    辣条冰棍阅读 1,075评论 7 25
  • 一说到孤独,我们容易联想起那是形容一个人,性格偏激,不爱社交,穿着邋遢,带个眼镜,有点变态。 孤独,是一种状态 ,...
    三风mickjoust阅读 3,168评论 8 33
  • 在等。 雨来,等雨停,行走,等到达,生活,等遇见,活着,等死亡。 一切的不心甘情愿和心甘情愿的忍耐似乎都是在等某个...
    赵明亮阅读 354评论 0 2
  • 喜优掺半阅读 165评论 0 0