微信扫一扫打赏支持

ES6参考---es5-严格模式

ES6参考---es5-严格模式

一、总结

一句话总结:

a、除了正常运行模式(混杂模式),ES5添加了第二种运行模式:"严格模式"(strict mode),这种模式使得Javascript在更严格的语法条件下运行
b、使用就是script前面加句话'use strict';

 

1、严格模式 的作用?

*、消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为
*、消除代码运行的一些不安全之处,为代码的安全运行保驾护航
*、为未来新版本的Javascript做好铺垫

 

2、严格模式 如何使用?

1、在全局或函数的第一条语句定义为: 'use strict';
2、如果浏览器不支持, 只解析为一条简单的语句, 没有任何副作用

 

 

3、严格模式 对js语法和行为的 具体改变?

*、必须用var声明变量
*、禁止自定义的函数中的this指向window
*、创建eval作用域
*、对象不能有重名的属性

 

 

 

二、es5-严格模式

博客对应课程的视频位置:

 

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4   <meta charset="UTF-8">
 5   <title>01_严格模式</title>
 6 </head>
 7 <body>
 8 <!--
 9 1. 理解:
10   * 除了正常运行模式(混杂模式),ES5添加了第二种运行模式:"严格模式"(strict mode)。
11   * 顾名思义,这种模式使得Javascript在更严格的语法条件下运行
12 2.  目的/作用
13     * 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为
14     * 消除代码运行的一些不安全之处,为代码的安全运行保驾护航
15     * 为未来新版本的Javascript做好铺垫
16 3. 使用
17   * 在全局或函数的第一条语句定义为: 'use strict';
18   * 如果浏览器不支持, 只解析为一条简单的语句, 没有任何副作用
19 4. 语法和行为改变
20     * 必须用var声明变量
21     * 禁止自定义的函数中的this指向window
22     * 创建eval作用域
23     * 对象不能有重名的属性
24 -->
25 
26 <script type="text/javascript">
27     'use strict';
28     var age = 12;
29     console.log(age);
30     function Person(name, age) {
31         this.name = name;
32         this.age = age;
33     }
34     new Person('kobe', 39);
35     setTimeout(function () {
36         console.log(this);//window
37     }, 1000);
38 
39     //* 创建eval作用域
40     var name = 'kobe';
41     eval('var name = "anverson";alert(name)');
42     console.log(name);
43 
44     var obj = {
45         name : 'kobe',
46         name : 'weide'
47     };
48     console.log(obj);
49 
50 </script>
51 
52 </body>
53 </html>

 

 

 
posted @ 2020-03-23 16:34  范仁义  阅读(153)  评论(0)    收藏  举报