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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   ActionScript 3.0 特設会議室
     withステートメントのスコープチェーン
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
chillout
Åê¹ÆNo.38439
投稿日時: 2008-4-14 20:37
新米
居住地:
投稿: 8
使用環境:
withステートメントのスコープチェーン
withステートメントについて質問です。
以下のスクリプトは、
Objectインスタンスのプロパティ'a'の値である2が
出力されることを期待していますが、
実際には1が出力されます。


package
{
import flash.display.Sprite;
public class Main extends Sprite
{
public function Main ()
{
var a : int = 1;
var obj : Object = {a:2};
with(obj)
{
trace(a);
}
}
}
}


// output
// 1



リファレンスによると、
引用:
識別子を解決するために with ステートメントで使用されるスコープチェーンは、次のリストの最初の項目から始まり、最後の項目まで続きます。

最も内側の with ステートメントの object パラメータで指定されたオブジェクト
最も外側の with ステートメントの object パラメータで指定されたオブジェクト
Activation オブジェクト (スクリプトが関数内で呼び出されたローカル変数を持つ関数を呼び出すときに自動的に作成されるテンポラリオブジェクト)
実行中のスクリプトを含むオブジェクト
Global オブジェクト (Math や String などの定義済みオブジェクト)



となっていて、
アクティベーションオブジェクトより先に、
withステートメントに渡したobjのスコープで
aが解決されるはずですが、
実際は、アクティベーションオブジェクトのスコープで
解決されているように見えます。

これは、リファレンスの誤りでしょうか?
それとも、何か勘違いをしているのでしょうか?
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
 » withステートメントのスコープチェーン chillout 2008-4-14 20:37
     Re: withステートメントのスコープチェーン Fumio 2008-4-14 22:15
       Re: withステートメントのスコープチェーン chillout 2008-4-14 22:40

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