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 解析多维的Json数据格式
Nov 02 Javascript
javascript 打印内容方法小结
Nov 04 Javascript
javascript表单验证和Window详解
Dec 11 Javascript
浅谈jQuery事件绑定原理
Jan 02 Javascript
JavaScript获取表单内所有元素值的方法
Apr 02 Javascript
javascript实现tab切换的四种方法
Nov 05 Javascript
使用JS中的exec()方法构造正则表达式验证
Aug 01 Javascript
D3.js实现文本的换行详解
Oct 14 Javascript
原生JS 购物车及购物页面的cookie使用方法
Aug 21 Javascript
js模拟实现烟花特效
Mar 10 Javascript
详解react组件通讯方式(多种)
May 06 Javascript
jquery实现点击左右按钮切换图片
Jan 27 jQuery
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获取栏目的所有子级和孙级栏目的ID号示例
2014/04/01 PHP
php递归法读取目录及文件的方法
2015/01/30 PHP
XHTML下,JS浮动代码失效的问题
2009/11/12 Javascript
学习面向对象之面向对象的术语
2010/11/30 Javascript
Javascript 按位与赋值运算符 (&=)使用介绍
2014/02/04 Javascript
JavaScript两种跨域技术全面介绍
2014/04/16 Javascript
JavaScript仿flash遮罩动画效果
2016/06/15 Javascript
简单实现jQuery进度条轮播实例代码
2016/06/20 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
简单谈谈Vue 模板各类数据绑定
2016/09/25 Javascript
AJAX和jQuery动态加载数据的实现方法
2016/12/05 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
2016/12/08 Javascript
jQuery制作图片旋转效果
2017/02/02 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
2017/02/09 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
2017/08/07 Javascript
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
JS实现对json对象排序并删除id相同项功能示例
2018/04/18 Javascript
微信小程序实现列表页的点赞和取消点赞功能
2018/11/02 Javascript
如何在Vue中抽离接口配置文件
2019/10/31 Javascript
[02:03]完美世界DOTA2联赛10月30日赛事集锦
2020/10/31 DOTA
[47:03]完美世界DOTA2联赛PWL S3 access vs LBZS 第一场 12.20
2020/12/23 DOTA
Python脚本实现DNSPod DNS动态解析域名
2015/02/14 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
2016/06/27 Python
Django配置celery(非djcelery)执行异步任务和定时任务
2018/07/16 Python
python 不以科学计数法输出的方法
2018/07/16 Python
通过pykafka接收Kafka消息队列的方法
2018/12/27 Python
django认证系统 Authentication使用详解
2019/07/22 Python
django基础学习之send_mail功能
2019/08/07 Python
Lombok插件安装(IDEA)及配置jar包使用详解
2020/11/04 Python
ASP.NET Core中的配置详解
2021/02/05 Python
户外拓展活动方案
2014/02/11 职场文书
大学生怎样写好自荐信
2014/02/25 职场文书
社区消防工作实施方案
2014/03/21 职场文书
销售类求职信
2014/06/13 职场文书
群众路线个人对照检查材料
2014/09/23 职场文书
Vue全家桶入门基础教程
2021/05/14 Vue.js