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 getJSON()+.ashx 实现分页(改进版)
Mar 28 Javascript
javascript通过className来获取元素的简单示例代码
Jan 10 Javascript
使用js获取图片原始尺寸
Dec 03 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
Apr 15 Javascript
用JavaScript实现页面重定向功能的教程
Jun 04 Javascript
实现音乐播放器的代码(html5+css3+jquery)
Aug 04 Javascript
jQuery添加和删除指定标签的方法
Dec 16 Javascript
JavaScript数组的定义及数字操作技巧
Jun 06 Javascript
Bootstrap响应式侧边栏改进版
Sep 17 Javascript
移动端使用localResizeIMG4压缩图片
Apr 22 Javascript
VUE前后端学习tab写法实例
Aug 06 Javascript
js实现3D照片墙效果
Oct 28 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扩展模块memcached长连接使用方法分析
2014/12/24 PHP
php简单实现MVC
2015/02/05 PHP
分享一个Laravel好用的Cache宏
2015/03/02 PHP
Laravel路由研究之domain解决多域名问题的方法示例
2019/04/04 PHP
JavaScript 笔记二 Array和Date对象方法
2010/05/22 Javascript
基于jQuery制作迷你背词汇工具
2010/07/27 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
JavaScript获取路径设计源码
2014/05/22 Javascript
js实现的光标位置工具函数示例
2016/10/03 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
JS实现评价的星星功能
2017/08/20 Javascript
JavaScript Date对象应用实例分享
2017/10/30 Javascript
vue cli升级webapck4总结
2018/04/04 Javascript
vue slots 组件的组合/分发实例
2018/09/06 Javascript
详解jQuery中的getAll()和cleanData()
2019/04/15 jQuery
如何自动化部署项目?折腾服务器之旅~
2019/04/16 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
python求众数问题实例
2014/09/26 Python
总结网络IO模型与select模型的Python实例讲解
2016/06/27 Python
Python简单遍历字典及删除元素的方法
2016/09/18 Python
如何用python写一个简单的词法分析器
2018/12/18 Python
django celery redis使用具体实践
2019/04/08 Python
python修改FTP服务器上的文件名
2019/09/11 Python
Python2和Python3中@abstractmethod使用方法
2020/02/04 Python
python 如何区分return和yield
2020/09/22 Python
Html5饼图绘制实现统计图的方法
2020/08/05 HTML / CSS
美国成衣女装品牌:CHICO’S
2016/09/19 全球购物
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
个性发展自我评价
2014/02/11 职场文书
美术指导求职信
2014/03/17 职场文书
四风剖析查摆对照检查材料思想汇报
2014/09/24 职场文书
违反单位工作制度检讨书
2014/10/25 职场文书
依法行政工作汇报
2014/10/28 职场文书
2015年秋季小班开学寄语
2015/05/27 职场文书
小学语文教学反思范文
2016/03/03 职场文书
如何计划开一家便利店?
2019/07/31 职场文书