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>