JavaScript的严格模式

严格模式

严格模式的使用,全局使用则在全局环境下写入‘use strict’,块级作用域下使用也是可以的。将会按照严格模式执行。特色如下:

当然可以识别严格模式的只有在IE10++和Firefox+、Chrome13++、Safari5.1++、Opera12+

严格模式的特色:

  • 未声明的变量会被报错(not defined),先声明再使用。
  • 在函数内部声明是局部作用域 (只在函数内使用严格模式)不报错
  • 不允许删除变量或对象。(delete运算符一般也只能删除对象的属性,如果该对象没有用了,那么会被直接回收释放掉,这与内存的回放没有关系,也无法删除不可配置的对象属性。)
  • 全局作用域下的函数,this关键字不再指向全局对象,而是undefined
  • 不允许删除函数
  • 不允许变量重名
  • 不允许使用八进制
  • 不用使用转义字符
  • 严禁使用with
  • 不允许对只读属性赋值
  • 不允许对一个使用getter方法读取的属性进行赋值
  • 不允许删除一个不允许删除的属性
  • 不允许删除eval字符串,(由于eval()的糟糕特性,从来不要使用就对了)
  • 变量名不能使用 “arguments” 、"eval"字符串。(关键词不用管,正常的标准模式也不建议使用)
  • 不允许使用以下with拓展作用域(常规也不建议使用,导致作用域混乱、不清)
  • 由于一些安全原因,在作用域 eval() 创建的变量不能被调用,(都不建议使用eval(),忽略掉就可以了)

严格模式的优点

  • 将过失错误转成异常

    严格模式则把这些失误当成错误, 以便可以发现并立即将其改正.

  • 为未来的ECMAScript版本铺平道路,可以更快的更新代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值