このコードを見てください:
var args;
function foo(){
args = arguments;
}
foo();
console.log(args); // []
args.callee(); // foo
コンソールに引数オブジェクトのプロパティまたはメソッドが表示されないのに、呼び出し先メソッドを呼び出すことができないのはなぜですか?
このコードを見てください:
var args;
function foo(){
args = arguments;
}
foo();
console.log(args); // []
args.callee(); // foo
コンソールに引数オブジェクトのプロパティまたはメソッドが表示されないのに、呼び出し先メソッドを呼び出すことができないのはなぜですか?
foo
引数を渡していません。また、callee
プロパティは「列挙不可能」です。
免責事項: これは、Chrome または Firebug コンソールを使用していることを前提としています。標準はありません。そのため、カスタム コンソールはファンキーなことを行う可能性があります。
console.log
配列のような*オブジェクトを「プレーンな」オブジェクトとは異なる方法で表示するために使用したためです。オブジェクトのプロパティを表示するには、 を使用しますconsole.dir
。
* 配列のようにするには、オブジェクトにlength
プロパティとsplice
関数、またはその他のいくつかのニッチな条件が必要です。