トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     「arguments.caller」とは?
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tatsu
Åê¹ÆNo.7396
投稿日時: 2004-5-19 19:58
半人前
居住地: 名古屋
投稿: 53
使用環境:
MBP"17(C2D) 2.8Ghz,4GB
Leopard10.6.4
WEB Premium CS4 + Flash CS5
「arguments.caller」とは?
純粋なフラッシュについての質問とは異なるかもしれませんが、
argumentsオブジェクトの「callerプロパティ」とはどういう物なのでしょうか?
匿名コールバックとか書いてあったのですが匿名コールバックの意味がわからない(TT)
再帰関数とは違うのでしょうか?
初歩的な質問かもしれませんがどなたかご教授願います。

ちなみに使用経験があるのはActionScriptとかJavaScriptだけです。
他のプログラム言語はやったことはありません。
野中文雄
Åê¹ÆNo.7397
投稿日時: 2004-5-19 21:21
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 「arguments.caller」とは?
ご質問の意味が、わかりかねます。まず、FlashのActionScriptのご質問ではないのですか? arguments.callerプロパティの仕様は、ActionScriptとJavaScriptでは異なります。
引用:
kahiroさんは書きました:
純粋なフラッシュについての質問とは異なるかもしれませんが、
argumentsオブジェクトの「callerプロパティ」とはどういう物なのでしょうか?

「匿名コールバック」という用語も、どこに書いてあったのでしょう? Flash MXやFlash MX 2004の「ActionScript辞書」には、そのような記述は見当たりません。文脈がわからないので、他の方もおそらく意味はおわかりにならならないと思います。
引用:
匿名コールバックとか書いてあったのですが匿名コールバックの意味がわからない(TT)
再帰関数とは違うのでしょうか?

「初歩的な質問」とは思いませんが、ご質問の「基本的なご説明」が不十分です。第三者から見てわかるようにご質問ください。
引用:
初歩的な質問かもしれませんがどなたかご教授願います。

ActionScriptで、arguments.callerプロパティを使ったサンプルとしては、Robert PennerさんのsuperConメソッドがあります。


----------------
 

tatsu
Åê¹ÆNo.7406
投稿日時: 2004-5-20 1:08
半人前
居住地: 名古屋
投稿: 53
使用環境:
MBP"17(C2D) 2.8Ghz,4GB
Leopard10.6.4
WEB Premium CS4 + Flash CS5
Re: 「arguments.caller」とは?
ご指摘ありがとうございます。紛らわしく不十分な説明でした。
JavaScriptにもあるんですね(-_-;) FlashのActionScriptに関しての質問です。
ActionScriptでいう「arguments.callerプロパティ」とはどういうものでどういう時に使うものなのでしょうか?
一応調べたとこでは「呼び出し元の関数のargumentsオブジェクトを参照する」との事ですがこの意味がいまいちよくわからないのです。
functionで関数を作成し、呼び出された際に自動的に作成される配列がargumentsオブジェクトで、
calleeプロパティは呼び出された関数自身を呼び出す関数だと言うことはわかったのですが、
callerプロパティはcalleeプロパティと同じ事をやっているのでしょうか?

以下のサンプルはリファレンスのcalleeプロパティを使用した匿名関数の再帰的な使用例ですが
calleeをcallerに変えれば同じ事をやるという認識で良いのでしょうか?
factorial = function (x) {
  if (x <= 1) {
    return 1;
  } else {
    return x * arguments.callee(x-1);
}
};


>匿名コールバックという記載は「MX認定ディベロッパー試験公式ガイド」(ソフトバンク)にある
>「8.組み込みオブジェクト」のargumentsオブジェクトの項で記述されていました。
野中文雄
Åê¹ÆNo.7407
投稿日時: 2004-5-20 1:55
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 「arguments.caller」とは?
引用のリンクは、お読みになりましたか?
引用:
野中文雄さんは書きました:
arguments.callerプロパティの仕様は、

ご覧になればおわかりになるとおり、ActionScriptについてのその説明はです。
引用:
kahiroさんは書きました:
一応調べたとこでは「呼び出し元の関数のargumentsオブジェクトを参照する」との事ですがこの意味がいまいちよくわからないのです。

少なくとも、違うということは、試されればすぐに判明するはずです。
引用:
callerプロパティはcalleeプロパティと同じ事をやっているのでしょうか?
...
calleeをcallerに変えれば同じ事をやるという認識で良いのでしょうか?

factorial = function (x) {
    trace(arguments.callee);  // 出力: [type Function]
    trace(arguments.caller);  // 出力: null
}
this. factorial()

あー、その本もあまり真に受けない方がよいです。最低限、翻訳には注意しましょう。
引用:
>匿名コールバックという記載は「MX認定ディベロッパー試験公式ガイド」(ソフトバンク)にある
>「8.組み込みオブジェクト」のargumentsオブジェクトの項で記述されていました。

ご自分で実際にいろいろ試してみないと、なかなか理解はできませんよ。
function MyClass() {
    this.initialize();
}
MyClass.prototype.initialize = function() {
    trace(arguments.callee === this.initialize);  // 出力: true
    trace(arguments.callee === MyClass.prototype.initialize);  // 出力: true
    trace(arguments.caller === this.constructor);  // 出力: true
    trace(arguments.caller === MyClass);  // 出力: true
};
// Test
var obj = new MyClass();


----------------
 

tatsu
Åê¹ÆNo.7438
投稿日時: 2004-5-20 23:50
半人前
居住地: 名古屋
投稿: 53
使用環境:
MBP"17(C2D) 2.8Ghz,4GB
Leopard10.6.4
WEB Premium CS4 + Flash CS5
Re: 「arguments.caller」とは?
理解するのに時間かかってしまい返答が遅れてしまいましたが
色々試してみてやっと理解できました。
scriptサンプルありがとうございました。理解するのにものすごく助けになりました。
またお世話になると思いますのでその時はよろしくお願い致します。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops