博客列表 >use strict

use strict

Might的博客
Might的博客原创
2018年03月07日 17:07:25950浏览

非严格模式下,a = 1可以创建一个全局变量。

严格模式下,变量都必须先用var命令显示声明,然后再使用。 严格模式不允许意外创建的全局变量(示例),否则会报错(Uncaught ReferenceError: v is not defined )。

"use strict";  
v = 1; // 报错,v未声明  for(i = 0; i < 2; i++) { // 报错,i未声明 ReferenceError    }

而且,严格模式不能对变量调用 delete 操作符(示例),会导致错误(Uncaught SyntaxError: Delete of an unqualified identifier in strict mode. )。

非严格模式允许这样操作,但返回false 。

 

别用这些词做 变量名 或 参数名 implements, interface, let, package, private, protected, public, static, yield。

这些都是保留字,将来ECMAScript 版本中可能会用到他们。

严格模式下作为其保留关键字,使用这些标识符作为变量名会导致语法错误。

对象字面量同一个属性重复赋值(Uncaught SyntaxError: Unexpected identifier),非严格模式会取最后一个(示例)

 
"use strict"  
var person = {  
  name : "Tom"  
  name : "Cat"  }


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议