繁体   English   中英

为什么参数对象未在控制台中显示其方法

[英]why arguments object is not showing it's method in console

看一下这段代码:

var args;
function foo(){
  args = arguments;
}

foo();

console.log(args); // []
args.callee(); // foo

为什么在控制台中看不到参数对象的任何属性或方法,却能够调用被调用方方法呢?

您没有向foo传递任何参数。 同样, callee属性是“不可枚举的”。

免责声明:这是假设您使用的是Chrome或Firebug控制台,没有标准配置,因此自定义控制台可能会做一些时髦的事情。

因为您使用了console.log ,它显示的类似于数组的对象与“普通”对象不同。 如果要查看对象的属性,请使用console.dir

*要像数组一样,对象必须具有length属性和splice函数,或者具有许多其他特殊条件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM