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 ...
随机推荐
- Centos7提示Initial setup of CentOS Linux 7 (core)
Initial setup of CentOS Linux 7 (core) 1) [x] Creat user 2) [!] License information (no user will be ...
- Mysql优化工具
https://blog.csdn.net/qq_29229567/article/details/106241831
- vue实现记录分享是否有上级
前言: 项目需要做活动分享功能(增加网站.app等访问量),但是,,,无功不受禄,也就需要分享时带上级ID,好友中奖,本人也受同样优惠 需求开发: 开发一个活动后,本人参加之后,分享给好友,增加自身中 ...
- docker 部署rocketmq 4.4
1 mkdir -p /home/rocketmq/{name_server,broker,console} 2 mkdir -p /home/rocketmq/name_server/{logs,s ...
- js 防抖
// 防抖 作用:防止重复触发事件 var count = 1; var container = document.getElementById('container'); function getU ...
- C++ CLI string
String^ to std::string ` include <msclr\marshal_cppstd.h> marshal_as(String^) `
- [localhost-startStop-1]
第一次遇到Tomcat在Linux服务器启动卡住的情况,情况很简单,tomcat启动以后卡在INFO: Deploying web application directory ......这句话,具体 ...
- BGP知识点总结(一)
动态路由协议(工作范围) 1.自治系统内部的路由协议-IGP:工作在同一个AS内,主要用来发现和计算路由,为AS内提供路由信息的交换(ospf,rip,isis) 2.自治系统之间的路由协 ...
- (一)用go实现单链表
本篇,我们用go简单的实现单链表这种数据结构. 1.节点定义 type Node struct{ data int next *Node } 2.节点的添加 // 尾插法插入节点 func (p *N ...
- vue3 自定义组件中使用 v-model
1.直接绑定 v-model,但是 Props 要固定为 modelValue 组件D: 注意这里的 Props 和 Emits,必须使用 Vue 提供的 defineProps() 和 define ...