严格模式

使用严格模式

在函数或者全局作用域的顶部使用"use strict", 可以实现向后兼容, 如果支持严格模式那么会启用这个模式,如果不支持那么就会被当做一个没有赋值的字符串

严格模式的规则
  1. 不能使用未声明的 变量
  2. 不能对变量调用delete操作符, 但是仍然可以delete属性
  3. 操作对象在非严格模式下会静默失败的,在严格模式下就会抛出错误
  4. 函数中的参数不能有相同的命名, 非严格模式下不会报错,而且只能访问同名的最后一个的值,严格模式下会报错
  5. argument中的值和命名参数中的值相互独立,不再相互影响
  6. 不能使用arguments.callee、arguments.caller
  7. 不能在if等里面声明函数
  8. eval内部会创建自己的作用域,不再影响外部
  9. 不能使用eval、argument作为标识符
  10. 非严格模式下,null、undefined会被转换为全局对象,也就是说使用apply、call的时候,传入它们俩,this仍为全局对象,而函数内部的this默认是undefined,也会被转换为全局对象。而在严格模式下,this的值始终是指定的值, 未指定时,函数内部this仍然是undefined
  11. 不能使用with、以及八进制字面量
  12. parseInt解析八进制字面量会被当做十进制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值