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 EasyPager 分页函数
May 25 Javascript
javascript 实现字符串反转的三种方法
Nov 23 Javascript
使用原生js写的一个简单slider
Apr 29 Javascript
javascript中clone对象详解
Dec 03 Javascript
jQuery+easyui中的combobox实现下拉框特效
Feb 27 Javascript
基于jQuery+Cookie实现的防止刷新的在线考试倒计时
Jun 19 Javascript
FullCalendar日历插件应用之数据展现(一)
Dec 23 Javascript
在页面中输出当前客户端时间javascript实例代码
Mar 02 Javascript
jQuery实现 上升、下降、删除、添加一行代码
Mar 06 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
Sep 23 Javascript
Element-UI+Vue模式使用总结
Jan 02 Javascript
解决Vue的项目使用Element ui 走马灯无法实现的问题
Aug 03 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中的Cannot modify header information 问题
2013/08/12 PHP
php计算两个日期时间差(返回年、月、日)
2014/06/19 PHP
laravel 解决多库下的DB::transaction()事务失效问题
2019/10/21 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
Javascript 表单之间的数据传递代码
2008/12/04 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
2013/12/13 Javascript
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
浅谈javascript 迭代方法
2015/01/21 Javascript
jQuery.position()方法获取不到值的安全替换方法
2015/03/13 Javascript
jquery实现键盘左右翻页特效
2015/04/30 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
Vue.js实现模拟微信朋友圈开发demo
2017/04/20 Javascript
vue-cli开发时,关于ajax跨域的解决方法(推荐)
2018/02/03 Javascript
JS实现的RC4加密算法示例
2018/08/16 Javascript
jQuery实现侧边栏隐藏与显示的方法详解
2018/12/22 jQuery
vue中的inject学习教程
2019/04/24 Javascript
ElementUI之Message功能拓展详解
2019/10/18 Javascript
如何在vue-cli中使用css-loader实现css module
2021/01/07 Vue.js
使用Python构建Hopfield网络的教程
2015/04/14 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
Python 给屏幕打印信息加上颜色的实现方法
2019/04/24 Python
基于python监控程序是否关闭
2020/01/14 Python
Python while循环使用else语句代码实例
2020/02/07 Python
CSS3中使用RGBa来调节透明度的教程
2016/05/09 HTML / CSS
德国网上药房:Apotal
2017/04/04 全球购物
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
加拿大品牌鞋包连锁店:Little Burgundy
2021/02/28 全球购物
简述你对Statement,PreparedStatement,CallableStatement的理解
2013/03/25 面试题
房地产出纳岗位职责
2013/12/01 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书
高中同学会活动方案
2014/08/14 职场文书
2015年班级元旦晚会活动总结
2014/11/28 职场文书
勇敢的心观后感
2015/06/09 职场文书
2015年汽车销售员工作总结
2015/07/24 职场文书
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers