在阅读JavaScript权威指南时遇到了 Aragument对象,对其中的argument 与argument.callee()有点困惑,后来
研究后总算理解了,我是如下理解的,如有不同,欢迎留言:
argument 即 调用对象(这是书本翻译的)
一开始还不是很明白,后来通过后面的argument.callee()印证,总算搞清楚了,
调用对象,就是调用这个方法的对象(这也许就译文比原文差的地方了,要是英语水平好,还是看原文的好),
这个与Java的super调用有点相似;
argument.callee() 即 当前对象
(实际上是返回当前执行的函数对象,我们这里可以用“当前对象”去理解) 与Java的this 相似;
argument 与argument.callee() 跟 super & this 对比学习就很容易明白了,
我想设计argument 与argument.callee()初衷就是为了能进行两个对象互相引用吧
下面是书本里的代码,好好揣摩一下就明白了
在调用方法时,我故意少传了一个参数,大家运行一下,仔细看看 ac 与 ex的区别