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+html5时钟特效代码分享(可设置闹钟并且语音提醒)
Mar 30 Javascript
JavaScript实现算术平方根算法-代码超简单
Sep 11 Javascript
jQuery实现标题有打字效果的焦点图代码
Nov 16 Javascript
javascript设计模式--策略模式之输入验证
Nov 27 Javascript
jquery插件jquery.confirm弹出确认消息
Dec 22 Javascript
利用Angularjs实现幻灯片效果
Sep 07 Javascript
vue全局自定义指令-元素拖拽的实现代码
Apr 14 Javascript
Node.js 实现远程桌面监控的方法步骤
Jul 02 Javascript
使用layui定义一个模块并使用的例子
Sep 14 Javascript
mpvue实现左侧导航与右侧内容的联动
Oct 21 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
Apr 25 Javascript
vue pages 多入口项目 + chainWebpack 全局引用缩写说明
Sep 21 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
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
《神奇女侠:血脉》神力女超人大战犯罪公司
2020/04/09 欧美动漫
PHP开发负载均衡指南
2010/07/17 PHP
PHP回溯法解决0-1背包问题实例分析
2015/03/23 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
PHP以json或xml格式返回请求数据的方法
2018/05/31 PHP
PHP实现一个按钮点击上传多个图片操作示例
2020/01/23 PHP
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
2008/12/29 Javascript
javascript 带有滚动条的表格,标题固定,带排序功能.
2009/11/13 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
jquery退出each循环的写法
2014/02/26 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
2015/04/17 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
2015/08/12 Javascript
分享使用AngularJS创建应用的5个框架
2015/12/05 Javascript
轻松5句话解决JavaScript的作用域
2016/07/15 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
2016/12/31 Javascript
ES6中新增的Object.assign()方法详解
2017/09/22 Javascript
vue-cli3.0 环境变量与模式配置方法
2018/11/08 Javascript
微信小程序自定义导航栏
2018/12/31 Javascript
借助云开发实现小程序短信验证码的发送
2020/01/06 Javascript
javascript实现打砖块小游戏(附完整源码)
2020/09/18 Javascript
[01:19:34]2014 DOTA2国际邀请赛中国区预选赛 New Element VS Dream time
2014/05/22 DOTA
[52:36]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
numpy 进行数组拼接,分别在行和列上合并的实例
2018/05/08 Python
Python嵌套列表转一维的方法(压平嵌套列表)
2018/07/03 Python
pandas筛选某列出现编码错误的解决方法
2018/11/07 Python
Python http接口自动化测试框架实现方法示例
2018/12/06 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
2020/03/27 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
2020/07/02 Python
AmazeUI 平滑滚动效果的示例代码
2020/08/20 HTML / CSS
劳动竞赛口号
2014/06/16 职场文书
幼儿园中班班级总结
2015/08/10 职场文书
创业计划书之婴幼儿游泳馆
2019/09/11 职场文书