如何在javascript中输出调用对象?

时间:2011-03-03 06:04:00

标签: javascript function

在我阅读javascript书时,我阅读了以下句子。

“使用名为arguments的属性初始化调用对象,该属性引用函数的Arguments对象”

我允许使用console.log或alert()方法在javascript中输出调用对象的结构(或值?)??

当人们说'呼叫对象'时,它是概念还是对象?

2 个答案:

答案 0 :(得分:3)

“调用对象”在ECMAScript规范中称为“激活对象”,无法直接访问。这允许ECMAScript / JavaScript引擎以最佳方式实现它,因为它们只需要确保它始终正确行为,即使字面上没有带有参数属性的对象,变量属性等等。

以下是规范中的描述(添加了emphesis):

  

10.1.6 Activation Object

     

当控件进入执行上下文时   功能代码,一个叫做的对象   激活对象已创建并且   与执行上下文相关联。   激活对象已初始化   带有名称参数的属性   和属性{DontDelete}。该   这个属性的初始值是   参数对象如下所述。

     

然后将激活对象用作   用于此目的的变量对象   变量实例化。

     

激活对象纯粹是一个   规范机制。它是   ECMAScript程序不可能   访问激活对象。 它   可以访问激活的成员   对象,但不是激活对象   本身。当通话操作是   应用于其参考值   基础对象是一个激活对象,   null用作此值   调用

答案 1 :(得分:1)

我相信他们指的是调用方法/函数的对象。

这可以通过this关键字

引用
<a onclick="foo()">click me</a>

function foo(){
  this.style.color='#cc0000';
  alert(arguments.length);
}

此代码会将锚点的文本颜色更改为“#cc0000”并警告0。