ES6课程---2、ES5严格模式
一、总结
一句话总结:
a、除了正常运行模式(混杂模式),ES5添加了第二种运行模式:"严格模式"(strict mode),这种模式使得Javascript在更严格的语法条件下运行
b、使用就是script标签的最前面部分加句话'use strict';
1、严格模式 的作用?
*、消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为
*、消除代码运行的一些不安全之处,为代码的安全运行保驾护航
*、为未来新版本的Javascript做好铺垫
2、严格模式 如何使用?
1、在全局或函数的第一条语句定义为: 'use strict';
2、如果浏览器不支持, 只解析为一条简单的语句, 没有任何副作用
3、严格模式 对js语法和行为的 具体改变?
*、必须用var声明变量
*、禁止自定义的函数中的this指向window
*、创建eval作用域(eval现在用的很少了)
*、对象不能有重名的属性
二、ES5严格模式
博客对应课程的视频位置:2、ES5严格模式
https://www.fanrenyi.com/video/24/196
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>ES5严格模式</title> 6 </head> 7 <body> 8 <!-- 9 严格模式介绍 10 a、除了正常运行模式(混杂模式),ES5添加了第二种运行模式:"严格模式"(strict mode),这种模式使得Javascript在更严格的语法条件下运行 11 b、使用就是script标签的最前面部分加句话'use strict'; 12 13 严格模式 的作用 14 *、消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为 15 *、消除代码运行的一些不安全之处,为代码的安全运行保驾护航 16 *、为未来新版本的Javascript做好铺垫 17 18 严格模式 如何使用 19 1、在全局或函数的第一条语句定义为: 'use strict'; 20 2、如果浏览器不支持, 只解析为一条简单的语句, 没有任何副作用 21 22 23 严格模式 对js语法和行为的 具体改变 24 *、必须用var声明变量 25 *、禁止自定义的函数中的this指向window 26 *、创建eval作用域(eval现在用的很少了) 27 *、对象不能有重名的属性 28 29 30 --> 31 <script> 32 'use strict'; 33 34 //1、严格模式必须用var声明变量 35 // var name1 = '林黛玉'; 36 //name1 = '林黛玉'; 37 // console.log(name1); 38 // console.log(window); 39 40 //name2='薛宝钗'; 41 //var name2='薛宝钗'; 42 43 //2、严格模式禁止自定义的函数中的this指向window 44 // function People(name,age) { 45 // console.log(this); 46 // this.name=name; 47 // this.age=age; 48 // } 49 // var p1=new People('aa',23); 50 // console.log(p1); 51 // var p2=People('aa',23); 52 // console.log(p2); 53 54 //3、严格模式创建eval作用域(eval现在用的很少了) 55 // var str='bb'; 56 // eval('var str="林黛玉";console.log(str);'); 57 // console.log(str); 58 //console.log('alert(str)'); 59 60 //4、严格模式对象不能有重名的属性 61 var obj1={ 62 name:'324', 63 name: '4343' 64 }; 65 console.log(obj1); 66 67 68 </script> 69 </body> 70 </html>