「一気に最後まで読んだ」本、教えて下さい!

topLvClass.lv2Class.lv3Class.myFunc();
のような位置に関数を作りたいのですが、どうすればいいのでしょう。
一重に作るときは次のようにしているのですが・・・。
var topLvClass = new topLvClass;
function topLvClass() {
this.myFunc = function() {
}
}
よろしくお願いします。

A 回答 (2件)

別解。



vb で言う所の project ファイル名を topLvClass_lv2Class として。
それに対応する 名前空間 を topLvClass.lv2Class とする。

topLvClass_lv2Class に内包される クラスファイル名 が lv3Class であるとするならば、そのクラスファイル内に myFunc ってな public サブルーチンだとか、public property を作成してやれば、topLvClass.lv2Class.lv3Class.myFunc() という指定も成立するんじゃないか、と。
    • good
    • 0
この回答へのお礼

なるほど、ネームスペースを使った方が良さそうですね。
というわけで、
topLvClass = function() {};
topLvClass.lv2Class = function() {};
topLvClass.lv2Class.lv3Class = function() {};
topLvClass.lv2Class.lv3Class.myFunc = function() {};
のようにしたところ、うまくいきました。
ありがとうございます。

お礼日時:2007/01/05 10:52

実際には試していないので間違っているかもしれません。



topLvClass.lv2Class

上記は、topLvClass のプロパティにアクセスしていますので、
「lv2Class」という名前のプロパティを持っていることになります。

そして、それがオブジェクトで、「lv3Class」という名前のプロパティを
持っている。

という感じだと思います。
    • good
    • 0
この回答へのお礼

なるほど、プロパティとして扱えばいいんですか、試してみます。ありがとうございます。

お礼日時:2006/12/03 15:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!