Day2-JS-严格模式

JavaScript 严格模式(use strict)

"use strict" 的目的是指定代码在严格条件下执行。

严格模式下你不能使用未声明的变量。

一、一个简单的实例

<h1>使用 "use strict":</h1>
<h3>不允许使用未定义的变量。</h3>
<p>浏览器按下 F12 开启调试模式,查看报错信息。</p>
<script>
"use strict";
x = 3.14;       // 报错 (x 未定义)
</script>

 

===注意点。这个“use struct”也是由作用域的,如果在函数内部声明的话 (只在函数内使用严格模式)

===为什么使用严格模式:

    消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
  • 消除代码运行的一些不安全之处,保证代码运行的安全;
  • 提高编译器效率,增加运行速度;
  • 为未来新版本的Javascript做好铺垫。

 ====不允许删除变量或对象\不允许删除函数\不允许变量重名\不允许使用八进制\不允许使用转义字符:

<h1>使用 "use strict":</h1>
<h3>不允许删除变量或对象。</h3>
<p>浏览器按下 F12 开启调试模式,查看报错信息。</p>
<script>
"use strict";
var x = 3.14;
delete x;    
</script>

===不允许对只读属性赋值

<h1>使用 "use strict":</h1>
<h3>不允许对只读属性赋值。</h3>
<p>浏览器按下 F12 开启调试模式,查看报错信息。</p>
<script>
"use strict";
var obj = {};
Object.defineProperty(obj, "x", {value:0, writable:false});
obj.x = 3.14;            // 报错
</script>

保留关键字

为了向将来Javascript的新版本过渡,严格模式新增了一些保留关键字

  • implements
  • interface
  • let
  • package
  • private
  • protected
  • public
  • static
  • yield

==注意:"use strict" 指令只允许出现在脚本或函数的开头

 

小知识点:

      ①switch括号中的东西和case 前面的东西 的比较是 (===)进行比较的

      ②

                       

                      

      ③对象可以使用名字来作为索引

      

 

posted @ 2020-06-12 11:21  SCAU-gogocj  阅读(256)  评论(0编辑  收藏  举报