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 相关文章推荐
不错的新闻标题颜色效果
Dec 10 Javascript
Mootools 1.2 手风琴(Accordion)教程
Sep 15 Javascript
jquery 插件开发方法小结
Oct 23 Javascript
javascript+iframe 实现无刷新载入整页的代码
Mar 17 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
Nov 19 Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
Jan 22 Javascript
使用JavaScript动态设置样式实现代码及演示动画
Jan 25 Javascript
jQuery实现浮动层随浏览器滚动条滚动的方法
Sep 22 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
Sep 14 Javascript
用Vue.extend构建消息提示组件的方法实例
Aug 08 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
Sep 30 Javascript
AngularJS发送异步Get/Post请求方法
Aug 13 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的ajax框架xajax入门与试用介绍
2010/12/19 PHP
PHP无法访问远程mysql的问题分析及解决
2013/05/16 PHP
100行PHP代码实现socks5代理服务器
2016/04/28 PHP
Yii2实现中国省市区三级联动实例
2017/02/08 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
JavaScript面象对象设计
2008/04/28 Javascript
jquery ajax提交表单数据的两种方式
2009/11/24 Javascript
js面向对象之静态方法和静态属性实例分析
2015/01/10 Javascript
Javascript核心读书有感之表达式和运算符
2015/02/11 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
2016/04/18 Javascript
gulp解决跨域的配置文件问题
2017/06/08 Javascript
AngularJs每天学习之总体介绍
2017/08/07 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
webpack打包优化的几个方法总结
2020/02/10 Javascript
[01:03:41]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第三场 2月2日
2021/03/11 DOTA
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
python逐行读取文件内容的三种方法
2014/01/20 Python
python 调用HBase的简单实例
2016/12/18 Python
Python中.join()和os.path.join()两个函数的用法详解
2018/06/11 Python
python opencv实现图片旋转矩形分割
2018/07/26 Python
使用python模拟命令行终端的示例
2019/08/13 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
基于CSS3实现的漂亮Menu菜单效果代码
2015/09/10 HTML / CSS
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
Omio波兰:全欧洲低价大巴、火车和航班搜索和比价
2018/02/16 全球购物
Linux文件操作命令都有哪些
2015/02/27 面试题
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
酒店行政人事部经理职务说明书
2014/02/26 职场文书
《美丽的南沙群岛》教学反思
2014/04/27 职场文书
办公室主任竞聘演讲稿
2014/05/15 职场文书
2014年财务人员工作总结
2014/11/11 职场文书
2015年党务公开工作总结
2015/05/19 职场文书
2019自荐信该如何写呢?
2019/07/05 职场文书
导游词之无锡梅园
2019/11/28 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang
python实现简单石头剪刀布游戏
2021/10/24 Python