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 ...
随机推荐
- Springboot 拦截器的配置
在Springboot项目中添加拦截器,分两步: 1:创建一个拦截器类 2:配置拦截器 以上步骤完成就可以使用了,下面来添加拦截器: 1:创建一个拦截器类 MyInteceptor 继承 Handle ...
- 发送邮件找回密码采用outlook的 pop和smtp方式、qq邮箱smtp
一.outlook的pop方式,并指定发送人邮箱地址: 需要引入dll:Microsoft.Office.Interop.Outlook Outlook.Application olApp = new ...
- PHP接口微信支付
PHP后台调用微信支付下单function wx_getPayRequest($openid, $orderid, $rmb, $title,$appoids){ $nonce = $orderid. ...
- Unity UI 识别画圆手势
最近做了一个项目,需要打开一个编辑UI,平时不显示,如果在UI界面上做一个按钮,感觉很丑,就想到了Reporter_Logs的画圆触发. 识别到你在界面上画了一个圆 (可用于 Windows 和 An ...
- Kubernetes 设置master相关
设置master调度命令 1.设置master一般情况下不接受pod调度 sudo kubectl taint nodes master node-role.kubernetes.io/master= ...
- 2、k8s 基础环境安装
3 k8s 环境配置 3.1 基础环境准备 所有机器执行 #各个机器设置自己的域名 我的设置为 hostnamectl set-hostname ks8-master.hostnamectl set- ...
- js动态删除添加一行
<div class="input-dyna-add"> <form class="form-inline form-group" role= ...
- c--> #define 定义宏
#define 定义宏 宏(Macro)是预处理命令的一种,它允许用一个标识符来表示一个字符串 1.有关定义宏的代码末尾不需要添加":"(分号) 2.定义宏define在计算的式子 ...
- Mysql-Mybatis常用动态Sql语句
1.<if> <select id="" parameterType="" resultType=""> selec ...
- 利用XtraBackup实现PXC数据库的热备份
PXC 容器中安装XtraBackup apt-get updata 1.在宿主机创建数据库卷,将数据卷映射到某个数据库的节点上 docker volume create backup 2.暂停nod ...