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 相关文章推荐
使用JSON.parse将json字符串转换成json对象的时候会出错
Sep 04 Javascript
Javascript基础教程之关键字和保留字汇总
Jan 18 Javascript
如何使用jquery修改css中带有!important的样式属性
Apr 28 Javascript
JQuery PHP图片在线裁剪实例
Jul 27 Javascript
使用ionic切换页面卡顿的解决方法
Dec 16 Javascript
JS正则表达式修饰符中multiline(/m)用法分析
Dec 27 Javascript
swiper动态改变滑动内容的实现方法
Jan 17 Javascript
vue 子组件向父组件传值方法
Feb 26 Javascript
JS实现水平遍历和嵌套递归操作示例
Aug 15 Javascript
使用xampp将angular项目运行在web服务器的教程
Sep 16 Javascript
浅谈webpack和webpack-cli模块源码分析
Jan 19 Javascript
如何将Node.js中的回调转换为Promise
Nov 10 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与MySQL开发中页面出现乱码的一种解决方法
2007/07/29 PHP
php var_export与var_dump 输出的不同
2013/08/09 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
2014/10/31 PHP
PHP调用wsdl文件类型的接口代码分享
2014/11/19 PHP
ThinkPHP采用原生query实现关联查询left join实例
2014/12/02 PHP
php使用cookie实现记住登录状态
2015/04/27 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
给jQuery方法添加回调函数一款插件的应用
2013/01/21 Javascript
Jquery图片滚动与幻灯片的实例代码
2013/04/08 Javascript
JavaScript实现的石头剪刀布游戏源码分享
2014/08/22 Javascript
JQuery中serialize()用法实例分析
2015/02/06 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
2016/08/01 Javascript
JS 拼凑字符串的简单实例
2016/09/02 Javascript
Vue.js动态添加、删除选题的实例代码
2016/09/30 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
2016/11/09 Javascript
Mongoose经常返回e11000 error的原因分析
2017/03/29 Javascript
Bootstrap输入框组件使用详解
2017/06/09 Javascript
Bootstrap Table使用整理(五)之分页组合查询
2017/06/09 Javascript
基于datepicker定义自己的angular时间组件的示例
2018/03/14 Javascript
JavaScript callback回调函数用法实例分析
2018/05/08 Javascript
JS实现520 表白简单代码
2018/05/21 Javascript
vue .sync修饰符的使用详解
2018/06/15 Javascript
Python实现一个简单的MySQL类
2015/01/07 Python
Python环境下搭建属于自己的pip源的教程
2016/05/05 Python
深入浅析python定时杀进程
2016/06/06 Python
对python3 中方法各种参数和返回值详解
2018/12/15 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
css3 background属性调整增强介绍
2010/12/18 HTML / CSS
css3的图形3d翻转效果应用示例
2014/04/08 HTML / CSS
函授毕业自我鉴定
2014/02/04 职场文书
集团公司党的群众路线教育实践活动工作总结
2014/03/03 职场文书
领导班子党的群众路线对照检查材料
2014/09/25 职场文书
三年级上册科学教学计划
2015/01/21 职场文书
2015年医院保卫科工作总结
2015/07/23 职场文书
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
2021/03/31 Servers