变量使用前必须声明:


不能直接对变量操作delete:


静默失败转为异常

常见的静默失败:

  • 给对象不可写属性赋值
  • 给对象只读属性赋值
  • 给不可扩展对象的新属性赋值
  • 删除对象中不可删除的属性


函数-参数是唯一

函数-实参和形参的映射关系不存在

形参有默认值时,默认开启严格模式,即实参和形参的映射关系不存在:
a里面的值是实参,arguments是形参

不允许使用eval()、with()

eval():将字符串解析为js语句
为什么不让用了,因为大强大了,会引起一些安全漏洞

with():改变函数执行时的上下文

eval、arguments不能作为标识符

函数的默认this指向变为undefined

不允许出现八进制数

0b开头是二进制,0开头是八进制,0x开头是十六进制
因为0开头会有歧义,有可能是补位

不能使用caller和arguments.callee

callee使用场景:匿名函数中需要调用本身、递归等功能:

代替方案:给匿名函数命名


前端小七
29 声望1 粉丝

« 上一篇
vscode工作区
下一篇 »
arguments