メイン コーダーズルーム【スクリプト系】 クラス内の変数について | 投稿するにはまず登録を |
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
Fumio | Åê¹ÆNo.3530 投稿日時: 2004-2-5 11:05 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
|
Re: クラス内の変数について 関数の引数およびローカル変数は、その関数ブロック内でのみ有効です。関数の処理が終了するとともに、メモリから破棄されます。したがって、他の関数や、関数の外側(クラスのプロパティ宣言やタイムライン変数の宣言)で同一の識別子(名前)を使用しても、コンフリクトは発生しません。
引用: takiguchiさんは書きました: ActionScriptが関数を処理するとき、識別子を「ローカル変数」>「タイムライン変数」または「インスタンスプロパティ」>「グローバル変数」の順に探していきます(これを「スコープチェーン」と呼びます)。そして、合致する値が見つかれば、その先は関知しません。 コンフリクトが避けられる一方で、スコープチェーンのその先の変数の検索が遮断されます。この性質を意図的に使うことを、「隠ぺい」といいます。たとえば、インスタンスのデフォルト値を設定する手法として利用することができます([クラスの作成と使用][訳者註*1]参照。ただし、この動作はJavaやJScript.NETなどの他のオブジェクト指向言語とは異なります)。 引用: ただし、クラスのプロパティと同じ名前の変数がメソッドで宣言されている場合は、 スコープチェーンの先の変数は、ターゲットを明示的に指定すれば、参照可能です。また、フレームアクションのサンプルを示します。
|
フラット表示 | 前のトピック | 次のトピック |
投稿するにはまず登録を | |