js 严格模式下有哪些不同

本文深入探讨JavaScript的严格模式,揭示它如何防止意外创建全局变量,强制异常处理,限制函数参数的重复,禁止八进制数字,消除with语句的使用,改变eval的行为,禁止删除声明的变量,以及对arguments对象的严格限制。严格模式还增强了函数调用的安全性,不允许通过this的非对象值,并淘汰了一些旧的ECMAScript扩展。这些变革对于提升代码质量和安全性至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 严格模式下无法再意外创建全局变量。
  • 严格模式会使引起静默失败的赋值操作抛出异常
  • 在严格模式下, 试图删除不可删除的属性时会抛出异常
  • 严格模式要求函数的参数名唯一
  • 严格模式禁止八进制数字语法
  • 严格模式禁用with
  • 严格模式下eval不再为上层范围引入新变量
  • 严格模式禁止删除声明变量
  • 名称eval和arguements不能通过程序语法被绑定或赋值
  • 严格模式下,参数的值不会随argurments对象的值的改变而变化
  • 不再支持arguments.callee
  • 在严格模式下通过this传递给一个函数的值不会被强制转换为一个对象。
  • 在严格模式中再也不能通过广泛实现的ecmascript扩展“游走于”javascript的栈中
  • 严格模式下的arguements不会再提供访问与调用这个函数相关的变量的途径
  • 在严格模式中一部分字符变成了保留的关键字。
  • 严格模式禁止了不在脚本或者函数层面上的函数声明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值