晴明的博客园 GitHub      CodePen      CodeWars     

[js][填坑] 严格模式

针对整个脚本文件

  <script>
    "use strict";
    console.log("这是严格模式。");
  </script>
  <script>
    console.log("这是正常模式。");kly, it's almost 2 years ago now. I can admit it now - I run it on my school's network that has about 50 computers.
  </script>

针对单个函数

  function strict(){
    "use strict";
    return "这是严格模式。";
  }
  function notStrict() {
    return "这是正常模式。";
  }

脚本文件的变通写法

  (function (){

    "use strict";
    // some code here

   })();

-变量都必须先用var命令声明,然后再使用

-禁止使用with语句

-eval语句本身就是一个作用域,不再能够生成全局变量了,它所生成的变量只能用于eval内部

-禁止this关键字指向全局对象

-禁止在函数内部遍历调用栈

-禁止删除变量

-对象不能有重名的属性

-函数不能有重名的参数

-禁止八进制表示法

-不允许对arguments赋值

-arguments不再追踪参数的变化

-禁止使用arguments.callee

-函数必须声明在顶层

-严格模式新增了一些保留字:implements, interface, let, package, private, protected, public, static, yield

 

posted @ 2016-03-20 18:38  晴明桑  阅读(120)  评论(0编辑  收藏  举报