ES5严格模式

1. 理解:

  * 除了正常运行模式(混杂模式),ES5添加了第二种运行模式:"严格模式"(strict mode)。

  * 顾名思义,这种模式使得Javascript在更严格的语法条件下运行

2.  目的/作用

        * 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为

        * 消除代码运行的一些不安全之处,为代码的安全运行保驾护航

        * 为未来新版本的Javascript做好铺垫

3. 使用

  * 在全局或函数的第一条语句定义为: 'use strict';

  * 如果浏览器不支持, 只解析为一条简单的语句, 没有任何副作用

4. 语法和行为改变

        * 必须用var声明变量

        * 禁止自定义的函数中的this指向window

        * 创建eval作用域

        * 对象不能有重名的属性

 1     'use strict';
 2     var age = 12;
 3     console.log(age);
 4     //错误 neme = 10;
 5     function Person(name, age) {
 6         this.name = name;
 7         this.age = age;
 8     }
 9     new Person('kobe', 39);
10     //错误写法  Person('kobe', 39); this->wiondw;
11     setTimeout(function () {
12         console.log(this);//window
13     }, 1000);
14 
15     //* 创建eval作用域
16     var name = 'kobe';
17     eval('var name = "anverson";alert(name)');
18     console.log(name);
19 
20     var obj = {
21         name : 'kobe',
22         //同样的属性名会报错
23         name : 'weide'
24     };
25     console.log(obj);

 

posted @ 2018-11-04 20:25  INSTANCE_SELF  阅读(291)  评论(0编辑  收藏  举报