JavaScript严格模式(use strict)
一、什么是严格模式(strict mode)
JavaScript严格模式即在严格模式下运行。严格模式下,你将不能使用未声明的变量。
注意,严格模式需要浏览器的支持:Internet explorer10+、Firefox4+、chrome13+、safari5.1+、opera12+
eg:
以下代码在使用严格模式时,未定义变量x将在浏览器中报错
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title>javascript 严格模式啊</title>
6 </head>
7 <body>
8 <h1>使用 user strict</h1>
9 <h3>不允许使用未定义的变量</h3>
10 <p>浏览器f12查看报错信息</p>
11 </body>
12 <script>
13 "use strict"
14 x = 4;
15 </script>
16 </html>
浏览器报错:

报错信息为x未定义;
如果只在函数内部使用严格模式时,那么在外面是不生效的。
为什么使用严格模式
1、提高代码安全性,保证代码安全运行;
2、提高编译器效率;
严格模式的限制
1、不允许使用未声明的变量,对象也是一个变量;
2、不允许删除变量或对象;
3、不允许删除函数;
4、不允许变量重名;
5、不允许使用八进制;
6、不允许使用转义字符;
7、变量名不能使用eval、argument、字符串;
JavaScript严格模式(use strict)的更多相关文章
- Javascript 严格模式("use strict";)详细解解
1 1 1 Javascript 严格模式("use strict";)详细解解 "use strict";定义JavaScript代码应该在"str ...
- Javascript 严格模式use strict
一.概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:“严格模式”(strict mode).顾名思义,这种模式使得Javascript在更严格的条件下运行. 设立”严格模式”的目 ...
- Javascript 严格模式use strict详解
1.概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode).顾名思义,这种模式使得Javascript在更严格的条件下运行. ...
- JavaScript进阶【二】JavaScript 严格模式(use strict)的使用
/*** *使用严格模式的原因: * ①:消除Javascript语法的一些不合理.不严谨之处,减少一些怪异行为; ②:消除代码运行的一些不安全之处,保证代码运行的安全: ③:提高编译器效率,增加运行 ...
- 【JS】312- 复习 JavaScript 严格模式(Strict Mode)
点击上方"前端自习课"关注,学习起来~ 注:本文为 < JavaScript 完全手册(2018版) >第30节,你可以查看该手册的完整目录. 严格模式是一项 ES5 ...
- JavaScript 严格模式(use strict)
前言: "use strict" 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增. 它不是一条语句,但是是一个字面量表达式,在 JavaScript ...
- 浅谈JavaScript严格模式(use strict)
"use strict" 的目的是指定代码在严格条件下执行. 严格模式下你不能使用未声明的变量. 严格模式声明 严格模式通过在脚本或函数的头部添加 "use strict ...
- JavaScript严谨模式(Strict Mode)
下面的内容翻译自It’s time to start using JavaScript strict mode,作者Nicholas C.Zakas参与了YUI框架的开发,并撰写了多本前端技术书籍,在 ...
- JavaScript语法支持严格模式:"use strict"
如果给JavaScript代码标志为“严格模式”,则其中运行的所有代码都必然是严格模式下的.其一:如果在语法检测时发现语法问题,则整个代码块失效,并导致一个语法异常.其二:如果在运行期出现了违反严格模 ...
- Javascript 严格模式(strict mode)详解
Javascript 严格模式详解 一.概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode).顾名思义,这种模式使得Ja ...
随机推荐
- 用浏览器打开pdf格式的文件默认全屏显示
打开地址如 http://xxxxx.pdf 在文件地址后面添加#view=FitH,top,可实现全屏查看pdf文件. http://xxxxx.pdf#view=FitH,top,
- springboot-maven打包项目
在project 标签内,新增一下内容 <build> <plugins> <!--打包项目--> <plugin> <groupId>or ...
- windwos11没有Hyper-V的解决方法
我的系统是windows11家庭版,程序添加这就没有hyper-v,但是可以手动添加,把下面这个脚本修改后缀.cmd即可(如:hyper-v.cmd),不会的可以直接下载我这个文件. Hyper-v执 ...
- Java面向对象之创建对象内存分析
创建对象内存分析 代码 内存分析 属性 属性:字段Field 成员变量 默认初始化: 1.数字: 0 0.0 2.char: u0000 3.boolean:false 4.引用数据类型:null 5 ...
- MAC怎么快速截图
1.截取全屏 按住[command][shift][3]这三个键即可截取全屏. 编辑 2.截取某区域 按住[command][shift][4]. 编辑 3.截图完成 在电脑桌面能找到截图 ...
- 激光雷达ldlidar communication is abnormal.
查看串口设置是否正常,可以通过cat /dev/ttyS4查看是否有数据以确定所接的串口是否正确
- HCIP-进阶实验03-网络流量路径控制
HCIP-进阶实验03-网络流量路径控制 实验需求 某城域网网络环境部署规划如图所示,该网络通过OSPF协议进行部署设计,分为四个区域,分别为骨干区域0.普通区域1.2.3.其中普通区域1为特殊区域N ...
- QT--弹出新的对话框 show()/exec()的区别
show()显示非模态对话框,exec()显示模态对话框. 非模态对话框不会阻塞程序的线程,因此 如果你的对话框时创建在栈上,跳出作用域之后,对象便销毁了,对话框会一闪而过: 如果使用new在堆上创建 ...
- 面试:关于Zookeeper注册节点的上线和掉线
Zookeeper中有一个重要的部件Monitor(监控中心),它是Dubbo中服务治理体系中的重要一环. 监控中心在启动的时候,会通过Zookeeper的/dubbo/com.foo.BarServ ...
- linux下安装jdk8,nginx
jdk8(官网下载的是jdk-8u231-linux-x64.tar.gz) 1.在/usr/local这路径下建一个jdk的文件夹,将下载好的jdk-8u231-linux-x64.tar.gz上传 ...