JavaScript 严格模式(use strict)用法实例分析


Posted in Javascript onMarch 04, 2020

本文实例讲述了JavaScript 严格模式(use strict)用法。分享给大家供大家参考,具体如下:

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

严格模式通过在脚本或函数的头部添加 "use strict"; 表达式来声明。

不允许使用未声明的变量。

"use strict";
myFunction();
function myFunction() {
  y = 3.14;  // 报错 (y 未定义)
}

在函数内部声明是局部作用域 (只在函数内使用严格模式):

x = 3.14;    // 不报错 
myFunction();
function myFunction() {
  "use strict";
  y = 3.14;  // 报错 (y 未定义)
}

不允许删除变量或对象

"use strict";
var x = 3.14;
delete x;        // 报错

不允许删除函数。

"use strict";
function x(p1, p2) {}; 
delete x;        // 报错

不允许变量重名:

"use strict";
function x(p1, p1) {};  // 报错

不允许使用八进制:

"use strict";
var x = 010;       // 报错

不允许使用转义字符:

"use strict";
var x = \010;      // 报错

不允许对只读属性赋值:

"use strict";
var obj = {};
Object.defineProperty(obj, "x", {value:0, writable:false});
obj.x = 3.14;      // 报错

不允许删除一个不允许删除的属性:

"use strict";
delete Object.prototype; // 报错

变量名不能使用 "eval" 字符串:

"use strict";
var eval = 3.14;     // 报错

变量名不能使用 "arguments" 字符串:

"use strict";
var arguments = 3.14;  // 报错

禁止this关键字指向全局对象

为什么使用严格模式:

  • 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
  • 消除代码运行的一些不安全之处,保证代码运行的安全;
  • 提高编译器效率,增加运行速度;
  • "严格模式"体现了Javascript更合理、更安全、更严谨的发展方向,包括IE 10在内的主流浏览器,都已经支持它。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
自制基于jQuery的智能提示插件一枚
Feb 18 Javascript
JavaScript调用堆栈及setTimeout使用方法深入剖析
Feb 16 Javascript
js禁止回车提交表单的示例代码
Dec 23 Javascript
javascript常用的正则表达式实例
May 15 Javascript
JavaScript对数字的判断与处理实例分析
Feb 02 Javascript
Javascript编程中几种继承方式比较分析
Nov 28 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
Mar 22 Javascript
jQuery插件编写步骤详解
Jun 03 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
Mar 04 Javascript
详解Vue 全局引入bass.scss 处理方案
Mar 26 Javascript
一步步教会你微信小程序的登录鉴权
Apr 09 Javascript
react-native 实现购物车滑动删除效果的示例代码
Jan 15 Javascript
vue 自定义组件的写法与用法详解
Mar 04 #Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
Mar 04 #Javascript
vue请求数据的三种方式
Mar 04 #Javascript
使用Vue 自定义文件选择器组件的实例代码
Mar 04 #Javascript
JS中==、===你分清楚了吗
Mar 04 #Javascript
js数组相减简单示例【删除a数组所有与b数组相同元素】
Mar 04 #Javascript
通过实例了解Javascript柯里化流程
Mar 03 #Javascript
You might like
PHP程序61条面向对象分析设计的经验小结
2008/11/12 PHP
PHP读取网页文件内容的实现代码(fopen,curl等)
2011/06/23 PHP
DOM基础及php读取xml内容操作的方法
2015/01/23 PHP
PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
2017/06/21 PHP
PHP实现文件上传后台处理脚本
2020/03/04 PHP
显示、隐藏密码
2006/07/01 Javascript
QQ邮箱的一个文本编辑器代码
2007/03/14 Javascript
firefo xml 读写实现js代码
2009/06/11 Javascript
jQuery EasyUI API 中文文档 - Menu菜单
2011/10/03 Javascript
仅IE支持clearAttributes/mergeAttributes方法使用介绍
2012/05/04 Javascript
多个checkbox被选中时如何判断是否有自己想要的
2014/09/22 Javascript
js中this用法实例详解
2015/05/05 Javascript
jquery插件pagination实现无刷新ajax分页
2015/09/30 Javascript
浅析Javascript中bind()方法的使用与实现
2016/05/30 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
2018/09/04 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
python中getattr函数使用方法 getattr实现工厂模式
2014/01/20 Python
在Python中使用成员运算符的示例
2015/05/13 Python
在Django的上下文中设置变量的方法
2015/07/20 Python
详解 Python 读写XML文件的实例
2017/08/02 Python
python 如何快速复制序列
2020/09/07 Python
台湾饭店和机票预订网站:Expedia台湾
2016/08/05 全球购物
生产车间班组长岗位职责
2014/01/06 职场文书
网上卖盒饭创业计划书
2014/01/26 职场文书
军训感想500字
2014/02/20 职场文书
《穷人》教学反思
2014/04/08 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
工伤私了协议书范本
2014/11/24 职场文书
艺术节开幕词
2015/01/28 职场文书
公司会议开幕词
2015/01/29 职场文书
首都博物馆观后感
2015/06/05 职场文书
《狼王梦》读后感:可怜天下父母心
2019/11/01 职场文书
多表查询、事务、DCL
2021/04/05 MySQL
Python中字符串对象语法分享
2022/02/24 Python
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js