es5严格模式常见点

一、严格模式的介绍

“严格模式”的设立是为了消除js语法的一些不合理,不严谨的地方,减少一些怪异行为的出现;不再去兼容es3中的一些不规则的语法,使用全新的es5规范,保护代码运行的安全

一样的代码,“严格模式”中,一些在正常模式下可以运行的语句,在严格模式下将不能运行
二、严格模式的调用
es5严格模式启动:"use strict";是一行字符串,不会对不兼容es5语法的浏览器产生影响

  • 全局严格模式
    "use strict";放在脚本文件的首行,那么整个脚本都会以严格模式运行
<script type="text/javascript">
	"use strict";
	console.log("严格模式")
</script>
<script type="text/javascript">
	console.log("正常模式")
</script>
这里代码,前一个script标签是严格模式,后一个不是
  • 局部函数内的严格模式(推荐)
    在一个函数体的第一行加"use strict"; 则这个函数体处于严格模式
<script type="text/javascript">
	function fn() {
		"use strict";
		console.log("严格模式')
	}
</script>
	1.变量在赋值前必须声明
	2.局部this不会去指向window,赋值什么就指向什么,无new就报错
	3.拒绝重复属性和参数
	4.不支持with  : 改变当前的ao    代码简化     效率丧失,作用域链被修改
	5.严格模式下无法删除变量
	6.禁止在函数内部遍历调用栈
	7.严格模式新增了一些保留字:implements, interface, let, package, private, protected, public, static, yield。使用这些作为变量名会报错

8.不允许在非函数的代码块内声明函数。

"use strict";
  if (true) {
    function f() { } // 语法错误
  }
  for (var i = 0; i < 5; i++) {
    function f2() { } // 语法错误
  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值