JS高级(5)严格模式(IE10+)

1.严格模式

1.消除了JS语法的一些不合理、不严谨之处、减少了怪异行为
2.消除了代码运行的一些不安全之处,保证代码运行的安全
3.提高编译器效率,增加运行速度
4.禁用了未来版本的一些语法

2.开启严格模式

严格模式可以应用到整个脚本(script)或个别函数中
	1.为脚本开启严格模式
		-- 有的是严格模式,有的脚本不是,不利于合并,所以将整个脚本文件放到一个立即执行的匿名函数中,
		这样独立创建一个作用域而不影响其他。
		(function(){
			"use strict"
			....
		})()
		或者
			<script>"use strict"</script>	当前脚本开启严格模式
	2.为函数开启严格模式
		-- 要给某个函数开启严格模式,需要把“use strict”声明放在函数体所有语句之前。
		function fn(){
			"use strict"
			return 123
		}			当前fn开启了严格模式

3.严格模式中的变化

1.变量必须先声明再使用
2.不能随意删除已经声明好的变量

4.严格模式下this指向问题

1.以前在全局作用域中的 this 指向 window 对象
2.严格模式下全局作用域中函数的 this 是 undefined
3.以前构造函数不加 new 也可以调用,当普通函数,this指向全局对象
4.严格模式下,如果构造函数不加 new 调用,this 会报错。
5.new 实例化的构造函数指向创建对象实例。
6.定时器 this 指向 window
7.事件、对象还是指向调用者

5.函数变化

1.函数不能有重名的参数
2.函数声明不能在非函数的代码块内,如:不能在if,for...中声明。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值