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 相关文章推荐
javascript 防止刷新,后退,关闭
Aug 07 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
Mar 28 Javascript
详解微信小程序——自定义圆形进度条
Dec 29 Javascript
DOM事件探秘篇
Feb 15 Javascript
详解如何在Angular中快速定位DOM元素
May 17 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
Jun 08 jQuery
浅谈angular.js跨域post解决方案
Aug 30 Javascript
Vue SPA单页应用首屏优化实践
Jun 28 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
Feb 20 jQuery
vue2 中二级路由高亮问题及配置方法
Jun 10 Javascript
vue实现扫码功能
Jan 17 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
Mar 12 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
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
在PHP中检查PHP文件是否有语法错误的方法
2009/12/23 PHP
php进行ip地址掩码运算处理的方法
2016/07/11 PHP
PHP实现的简单sha1加密功能示例
2017/08/27 PHP
laravel实现批量更新多条记录的方法示例
2017/10/22 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
Js+XML 操作
2006/09/20 Javascript
一种JavaScript的设计模式
2006/11/22 Javascript
Tinymce+jQuery.Validation使用产生的BUG
2010/03/29 Javascript
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
jquery实现Ctrl+Enter提交表单的方法
2015/07/21 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
js实现对table的增加行和删除行的操作方法
2016/10/13 Javascript
用JS动态设置CSS样式常见方法小结(推荐)
2016/11/10 Javascript
详解JS中定时器setInterval和setTImeout的this指向问题
2017/01/06 Javascript
js验证手机号、密码、短信验证码代码工具类
2020/06/24 Javascript
vue中appear的用法
2017/08/17 Javascript
详解如何使用webpack打包JS
2018/06/21 Javascript
Python中如何获取类属性的列表
2016/12/26 Python
python数据抓取分析的示例代码(python + mongodb)
2017/12/25 Python
pandas带有重复索引操作方法
2018/06/08 Python
如何使用python实现模拟鼠标点击
2020/01/06 Python
Python版中国省市经纬度
2020/02/11 Python
python图片指定区域替换img.paste函数的使用
2020/04/09 Python
jupyter使用自动补全和切换默认浏览器的方法
2020/11/18 Python
新西兰廉价汽车租赁:Snap Rentals
2018/09/14 全球购物
化工工艺专业求职信
2013/09/22 职场文书
大学运动会通讯稿
2014/01/28 职场文书
动员大会主持词
2014/03/20 职场文书
调研座谈会发言材料
2014/08/23 职场文书
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
敬老院义诊活动总结
2015/05/07 职场文书
竞聘演讲报告:基本写作有哪些?附开头范文
2019/10/16 职场文书
Mysql MVCC机制原理详解
2021/04/20 MySQL
MySQL修炼之联结与集合浅析
2021/10/05 MySQL