Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么参数对象不显示它';控制台中的s方法_Javascript - Fatal编程技术网

Javascript 为什么参数对象不显示它';控制台中的s方法

Javascript 为什么参数对象不显示它';控制台中的s方法,javascript,Javascript,请看下面的代码: var args; function foo(){ args = arguments; } foo(); console.log(args); // [] args.callee(); // foo 为什么我在控制台中看不到arguments对象的任何属性或方法,却能够调用被调用方方法 您没有传递foo任何参数。另外,被调用方属性是“不可枚举的”。免责声明:这假设您使用的是Chrome或Firebug控制台,没有标准,因此自定义控制台可能会做一些古怪的事情 因为您使用

请看下面的代码:

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

foo();

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

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

您没有传递
foo
任何参数。另外,
被调用方
属性是“不可枚举的”。

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

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


*要像数组一样,对象必须有
length
属性和
splice
函数,或其他一些小生境条件。

参数
没有
splice
函数。@Rocket,你说得很对,我记不起控制台通常用于确定对象是否与数组类似的所有细节。我确实知道,要将自定义对象视为“类似数组”的对象,它们必须具有
长度
拼接
@nitesh:至少在Chrome中,
控制台。dir
列出了
被调用者
属性,如果这是您想要的。您使用的是哪个控制台?他们不都一样。控制台输出没有标准。我是否可以在javascript中创建一个不可枚举的属性或方法?@niteshsharma:看看。