在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
 

最新文章

  1. python进阶(四)---需要了解的魔法方法
  2. FFmpeg-20160413-snapshot-bin
  3. ccc 使用let
  4. Bootstrap 响应式设计
  5. Android 开源项目维护者宣布退出
  6. grootJs属性扩展 groot.bindExtend
  7. 转:GBDT(MART) 迭代决策树入门教程 | 简介
  8. 用js读、写、删除Cookie
  9. js判断图片是否显示
  10. 九、C# 合式类型
  11. AMD规范
  12. 编译httpd细节
  13. 3. python文件操作
  14. ext当表单中的输入项为必填时,输入项label后显示红色的*
  15. Angular实现动态添加删除表单输入框功能
  16. mybatis08--关联查询多对一
  17. vscode调试angular
  18. PL/SQL Developer安装教程
  19. Unity读取AssetBundle资源全教程(所有读取方式)
  20. 2018.10.25 CCSP马拉松摸铜归来

热门文章

  1. Linux 下使用 ffmpeg 大批量合并 ts 文件, mp4切割文件为m3u8
  2. PHP通过thrift2访问HBASE
  3. 【Angular】关于angular引用第三方组件库无法改变其组件样式 :host ::ng-deep
  4. centos平台搭建Oracle11g数据库+远程连接
  5. 喵星之旅-狂奔的兔子-docker安装和基本使用
  6. 攻防世界 你知道什么是cookie吗?
  7. 吴裕雄--天生自然神经网络与深度学习实战Python+Keras+TensorFlow:RNN和CNN混合的鸡尾酒疗法提升网络运行效率
  8. 【Struts APP_PATH】StartSystemListener
  9. $.isEmptyObject() 判断对象是否为空
  10. Operating systems Chapter 4