Es567严格模式

Es5 严格模式

http://www.ruanyifeng.com/blog/2013/01/javascript_strict_mode.html

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

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

2. 目的/作用

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

- 消除代码运行的一些不安全之处,保证代码运行的安全

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

3. 使用

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

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

4. 语法和行为改变

- 必须用var声明变量

- 创建eval作用域

- 禁止this指向window

- 对象不能有重名的属性

- 函数不能有重名的形参

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    
    <script  type="text/javascript">
       'use strict'
   var username="kobe";
   console.log(username);

   function person(name,age){

       this.name =name;
       this.age=age;
   }

  //去掉new会报错,use stritc 禁止自定义this指向windo,
  //加上new this指向自身的实例
   new Person('kobe',36)


   new Person('kobe',39)

   var str='nama'
// 严格模式eval里面有自己 的作用域
   eval('var str="val" alert(str)')


    
    </script>
</body>
</html>

猜你喜欢

转载自www.cnblogs.com/hack-ing/p/12005292.html