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:看看。