JavaScript进阶【二】JavaScript 严格模式(use strict)的使用
/*** *使用严格模式的原因: * ①:消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为; ②:消除代码运行的一些不安全之处,保证代码运行的安全; ③:提高编译器效率,增加运行速度; ④:为未来新版本的Javascript做好铺垫。 */ //不允许使用未声明的变量: "use strict"; z = 3.14; // 报错 (z 未定义) //对象也是一个变量。 "use strict"; z = {p1:10, p2:20}; // 报错 (z 未定义) //不允许删除变量或对象。 "use strict"; var x = 3.14; delete x; // 报错:Uncaught SyntaxError: Delete of an unqualified identifier in strict mode //不允许删除函数。 "use strict"; function func(n1, n2) {}; delete func; // 报错 // 不允许变量重名: "use strict"; function func(n1, n2) {}; // 报错 // 不允许使用八进制: "use strict"; var x = 010; // 报错:error //不允许使用转义字符: "use strict"; var x = \010; // 报错 // 不允许对只读属性赋值: "use strict"; var obj = {}; Object.defineProperty(obj, "x", {value:0, writable:false}); obj.x = 3.14; // 报错:Uncaught TypeError: Cannot assign to read only property 'x' of object '#<Object>' //不允许对一个使用getter方法读取的属性进行赋值 "use strict"; var obj = {get x() {return 0} }; obj.x = 3.14; // 报错:ncaught TypeError: Cannot set property x of #<Object> which has only a getter // 不允许删除一个不允许删除的属性: "use strict"; delete Object.prototype; // 报错 //变量名不能使用 "eval" 字符串: //eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。 "use strict"; var eval = 3.14; // 报错 //变量名不能使用 "arguments" 字符串: "use strict"; var arguments = 3.14; // 报错 //禁止this关键字指向全局对象。 function f(){ return !this; } // 返回false,因为"this"指向全局对象,"!this"就是false function f(){ "use strict"; return !this; } // 返回true,因为严格模式下,this的值为undefined,所以"!this"为true。
JavaScript进阶【二】JavaScript 严格模式(use strict)的使用相关推荐
- JavaScript进阶(二)
JavaScript进阶(二) 2019版黑马程序员javaScript进阶面向对象ES6 122集教程,哔哩哔哩链接:https://www.bilibili.com/video/BV1Kt411w ...
- 网站开发综合技术 一 JavaScript简介 二JavaScript语法
第1部分 JavaScript简介 1.JavaScript它是个什么东西? 它是个脚本语言,需要有宿主文件,他的宿主文件是html文件. 2.它与Java有什么关系? 没有什么直接联系,java是S ...
- JavaScript进阶(四)
JavaScript进阶(四) 2019版黑马程序员javaScript进阶面向对象ES6 122集教程,哔哩哔哩链接:https://www.bilibili.com/video/BV1Kt411w ...
- JavaScript进阶(三)
JavaScript进阶(三) 2019版黑马程序员javaScript进阶面向对象ES6 122集教程,哔哩哔哩链接:https://www.bilibili.com/video/BV1Kt411w ...
- JavaScript进阶(一)
JavaScript进阶(一) 2019版黑马程序员javaScript进阶面向对象ES6 122集教程,哔哩哔哩链接:https://www.bilibili.com/video/BV1Kt411w ...
- JavaScript入门(二)
JavaScript入门(二) 哔哩哔哩链接:https://www.bilibili.com/video/BV1YW411T7GX?spm_id_from=333.999.0.0 七.代码讲解部分 ...
- JavaScript学习(七十二)—严格模式
JavaScript学习(七十二)-严格模式 JavaScript除了提供正常模式外,还提供了严格模式,ES5的严格模式是采用具有限制性JavaScript变体的一种方式,即在严格条件下运行JS代码, ...
- JavaScript进阶必会的手写功能(二)
JavaScript进阶必会的手写功能(一) 6. 手写浅拷贝 6.1 JavaScript数据类型分类 1. 简单数据类型: Number. String.Boolean.null.undefine ...
- Javascript 严格模式use strict详解
一.概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode).顾名思义,这种模式使得Javascript在更严格的条件下运行. ...
- JavaScript 严格模式(use strict)
使用 "use strict" 指令 "use strict" 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增. 它不是一条语句, ...
最新文章
- 政、企、学三方视角下的智慧城市发展 | 2020中关村论坛“人工智能与城市可持续发展论坛”成功举办...
- SSH实现新闻管理系统
- 二分查找对应的二叉树的成功和失败ASL
- HDU 3966 Aragorn's Story (树链剖分+线段树)
- Windows 下的批处理脚本基础——网络相关命令(用户操作命令、用户组操作命令)
- OA、CRM、进销存集成了,美女也不再愁了
- android插件化-apkplug中OSGI服务基本原理-08
- Windows 8.1 with Update MSDN 简体/英文/繁体
- linux用户间文件互传,linux之间的文件互传-scp命令
- 去除加粗的css,css如何取消加粗
- 每周论文精读04——A Survey on 3D Hand Pose Estimation: Cameras, Methods, and Datasets
- Qt编写地图综合应用12-路线查询
- python统计三国演义人物出场次数
- 计算机网络技术不会拼音,我爸不会拼音,怎样在电脑上学打字阿?
- Caporali HSK63A.H80.WE16
- win7系统如何映射服务器,教你win7系统映射网络驱动器的操作方法
- 店宝宝:巨头PK精品电商
- pyinstaller打包执行文件报错NameError: name ‘defaultParams‘ is not defined问题解决方案
- revit建模中两面墙贴在一起怎么插入门窗及隐框玻璃的做法
- 8.合并两个有序的数组
热门文章
- Maven实战05_背景案例学Maven模块化
- 论搜索方法,低效的你简直在浪费生命(二)
- PDF转换技巧之如何把文件转换为WPS?
- 11.2. simpara
- asp.net 调用(引用 Native dll 的)C++/CLI dll 的问题及解决
- swith 好久不用都忘记了
- 《WinForm开发系列之控件篇》Item31 MenuStrip(暂无)
- Linux一键编译,linux下一键编译安装MariaDB10.0.12
- python ftp 文件修改时间 乐贴_如何使用Python ftplib获取FTP文件的修改时间
- 我用Python爬取1000封情书助力室友表白班花,却反转再反转...原来这就是班花的终极秘密!