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 相关文章推荐
js同时按下两个方向键
Dec 01 Javascript
JavaScript 给汉字排序实例代码
Jun 28 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
Jul 29 Javascript
JavaScript模板引擎用法实例
Jul 10 Javascript
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
Jan 12 Javascript
vue2滚动条加载更多数据实现代码
Jan 10 Javascript
Bootstrap Table使用整理(四)之工具栏
Jun 09 Javascript
详解微信小程序 template添加绑定事件
Jun 23 Javascript
vue获取当前激活路由的方法
Mar 17 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
Apr 08 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
Aug 09 Javascript
2019最新21个MySQL高频面试题介绍
Feb 06 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和XSL stylesheets转换XML文档
2006/10/09 PHP
如何用C语言编写PHP扩展的详解
2013/06/13 PHP
php网页标题中文乱码的有效解决方法
2014/03/05 PHP
php常用字符串处理函数实例分析
2014/11/22 PHP
php+jQuery+Ajax实现点赞效果的方法(附源码下载)
2020/07/21 PHP
详解new function(){}和function(){}() 区别分析
2008/03/22 Javascript
Mootools 1.2 手风琴(Accordion)教程
2009/09/15 Javascript
JavaScript 学习笔记(十二) dom
2010/01/21 Javascript
js实现兼容IE6与IE7的DIV高度
2010/05/13 Javascript
javascript重写alert方法的实例代码
2013/03/29 Javascript
js css后面所带参数含义介绍
2013/08/18 Javascript
jquery修改属性值实例代码(设置属性值)
2014/01/06 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
2015/03/31 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
Prototype框架详解
2015/11/25 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
2020/12/31 Javascript
Vue中封装input组件的实例详解
2017/10/17 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
layui 阻止图片上传的实例(before方法)
2019/09/26 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
Node.js API详解之 V8模块用法实例分析
2020/06/05 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
2020/08/06 Javascript
[00:12]2018DOTA2亚洲邀请赛 Sccc亮相SOLO赛,今年他又会有什么样的战绩?
2018/04/06 DOTA
Python获取某一天是星期几的方法示例
2017/01/17 Python
Python多进程原理与用法分析
2018/08/21 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
使用Tensorflow实现可视化中间层和卷积层
2020/01/24 Python
Python中的Cookie模块如何使用
2020/06/04 Python
Keras自定义IOU方式
2020/06/10 Python
匡威英国官网:Converse英国
2018/12/02 全球购物
合伙协议书范本
2014/04/21 职场文书
环卫处个人工作总结
2015/03/04 职场文书
python3 hdf5文件 遍历代码
2021/05/19 Python
Python Pygame实战在打砖块游戏的实现
2022/03/17 Python
剑指Offer之Java算法习题精讲二叉树的构造和遍历
2022/03/21 Java/Android