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 相关文章推荐
window.dialogArguments 使用说明
Apr 11 Javascript
JavaScript的parseInt 取整使用
May 09 Javascript
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
Jan 29 Javascript
原生JS操作网页给p元素添加onclick事件及表格隔行变色
Dec 01 Javascript
js给网页加上背景音乐及选择音效的方法
Mar 03 Javascript
js防刷新的倒计时代码 js倒计时代码
Sep 06 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
Aug 19 Javascript
基于vue中keep-alive缓存问题的解决方法
Sep 21 Javascript
详解vue项目中使用token的身份验证的简单实践
Mar 08 Javascript
vue 源码解析之虚拟Dom-render
Aug 26 Javascript
vue-cli3 热更新配置操作
Sep 18 Javascript
element-ui 弹窗组件封装的步骤
Jan 22 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数据库连接类~~做成一个分页类!
2006/11/25 PHP
谈谈新手如何学习PHP
2006/12/14 PHP
PHP基于单例模式实现的mysql类
2016/01/09 PHP
php查询操作实现投票功能
2016/05/09 PHP
php对接java现实加签验签的实例
2016/11/25 PHP
php微信公众平台交互与接口详解
2016/11/28 PHP
Laravel框架Eloquent ORM修改数据操作示例
2019/12/03 PHP
encode脚本和normal脚本混用的问题与解决方法
2007/03/08 Javascript
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
推荐6款基于jQuery实现图片效果插件
2014/12/07 Javascript
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
js判断手机号是否正确并返回的实现代码
2017/01/17 Javascript
详解使用vue脚手架工具搭建vue-webpack项目
2017/05/10 Javascript
JavaScript命名空间模式实例详解
2019/06/20 Javascript
layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
2019/09/25 Javascript
Angular如何由模板生成DOM树的方法
2019/12/23 Javascript
简单掌握Python的Collections模块中counter结构的用法
2016/07/07 Python
关于Django显示时间你应该知道的一些问题
2017/12/25 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
Python设计模式之模板方法模式实例详解
2019/01/17 Python
python代理工具mitmproxy使用指南
2019/07/04 Python
python迭代器常见用法实例分析
2019/11/22 Python
python手写均值滤波
2020/02/19 Python
Django中的session用法详解
2020/03/09 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
2020/05/21 Python
Python类绑定方法及非绑定方法实例解析
2020/10/09 Python
CSS3轻松实现圆角效果
2017/11/09 HTML / CSS
HTML5 WebSocket实现点对点聊天的示例代码
2018/01/31 HTML / CSS
shell程序中如何注释
2012/01/28 面试题
《月光启蒙》教学反思
2014/03/01 职场文书
销售2014年度工作总结
2014/12/08 职场文书
社区端午节活动总结
2015/02/11 职场文书
CSS 文字装饰 text-decoration & text-emphasis 详解
2021/04/06 HTML / CSS
mysql创建存储过程及函数详解
2021/12/04 MySQL
python接口测试返回数据为字典取值方式
2022/02/12 Python