function hoge(x, f) { if (x === 1) { caller = hoge.caller hoge(2, function () { document.writeln(caller); document.writeln(hoge.caller); }); } else { f(); } } hoge(1, null); ↓実行結果 null function hoge(x, f) { if (x === 1) { caller = hoge.caller; hoge(2, function () {document.writeln(caller);document.writeln(hoge.caller);}); } else { f(); } }一見フレームにアクセスできてるように見えるけど、実はグローバルなオブジェクトの属性値が変化している (追記)argum