ES5-严格模式
2024-09-01 13:57:18
在es5中可以开启一种严格模式的代码形式,开启方式是:将全局或者函数的第一条语句定义为:'use strict';。 如果浏览器不支持,会将其解析为一条普通语句,没有任何的副作用。
开启全局模式后会有一下的一些约束:
1.第一次定义变量的时候必须使用var。如:test = 'heihei';alert(test); 该语句在没有开启严格模式的环境下不会报错,但是开启后会报错必须使用:var test = 'heihei';
2.禁止定义的函数中的this指向window(即全局)。如:
function person(name){
this.name = name;
alert(this.name);
}
person('test');
该语句在未开启严格模式的环境下不会报错。但是开启严格模式后,函数中的this就指向了window会报错,可以改为下列的方式:
function person(name){
this.name = name;
alert(this.name);
}
var p = new person('test');
3.eval();函数中的语句有自己的作用域,eval()函数会将里面的字符串当作语句来执行。如:
var test = 'haha';
eval('var test = "heihei";alert(test);');
alert(test);
该语句在未开启严格模式的环境下会输出:haha,和haha,也就是说在eval()函数中改变了test变量的值。如果加上严格模式则会输出:heihei和 haha
最新文章
- python进阶(四)---需要了解的魔法方法
- FFmpeg-20160413-snapshot-bin
- ccc 使用let
- Bootstrap 响应式设计
- Android 开源项目维护者宣布退出
- grootJs属性扩展 groot.bindExtend
- 转:GBDT(MART) 迭代决策树入门教程 | 简介
- 用js读、写、删除Cookie
- js判断图片是否显示
- 九、C# 合式类型
- AMD规范
- 编译httpd细节
- 3. python文件操作
- ext当表单中的输入项为必填时,输入项label后显示红色的*
- Angular实现动态添加删除表单输入框功能
- mybatis08--关联查询多对一
- vscode调试angular
- PL/SQL Developer安装教程
- Unity读取AssetBundle资源全教程(所有读取方式)
- 2018.10.25 CCSP马拉松摸铜归来
热门文章
- Linux 下使用 ffmpeg 大批量合并 ts 文件, mp4切割文件为m3u8
- PHP通过thrift2访问HBASE
- 【Angular】关于angular引用第三方组件库无法改变其组件样式 :host ::ng-deep
- centos平台搭建Oracle11g数据库+远程连接
- 喵星之旅-狂奔的兔子-docker安装和基本使用
- 攻防世界 你知道什么是cookie吗?
- 吴裕雄--天生自然神经网络与深度学习实战Python+Keras+TensorFlow:RNN和CNN混合的鸡尾酒疗法提升网络运行效率
- 【Struts APP_PATH】StartSystemListener
- $.isEmptyObject() 判断对象是否为空
- Operating systems Chapter 4