变量应用前必须申明:


不能间接对变量操作delete:


静默失败转为异样

常见的静默失败:

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


函数-参数是惟一

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

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

不容许应用eval()、with()

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

with():扭转函数执行时的上下文

eval、arguments不能作为标识符

函数的默认this指向变为undefined

不容许呈现八进制数

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

不能应用caller和arguments.callee

callee应用场景:匿名函数中须要调用自身、递归等性能:

代替计划:给匿名函数命名