クラス変数にアクセスする方法

よしだとものり
記事: 134
登録日時: 2017年7月25日(火) 23:18

クラス変数にアクセスする方法

投稿記事by よしだとものり » 2017年9月19日(火) 08:32

例えば以下のようなクラスがあったとします。
function xxx() {
//処理
}
xxx.prototype.yyy= function() {
//処理
};
xxx.prototype.initialize = function() {
this.aaa=1;
this.bbb=1;
};

同じファイルにあるプラグインコマンドから
this.aaaやxxx()にはアクセスできません。
外部からxxxやthis.aaaにアクセスする手段はあるのでしょうか?
ツクールの質問とは少し離れてますので
問題あればご指摘下さい

アバター
しぐれん
記事: 972
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: クラス変数にアクセスする方法

投稿記事by しぐれん » 2017年9月19日(火) 09:03

この場合xxxが即時間数で囲まれていなければ、グローバル名前空間に配置されるので呼び出すことが可能です。
その場合イベントコマンド「スクリプト」で以下のようにやれば動きます。
(xxxはthis.initialize.apply()が定義されているとします)

コード: 全て選択

var xx = new xxx();
console.log(xx.aaa)
現在、プラグイン依頼はお休み中です。
よしだとものり
記事: 134
登録日時: 2017年7月25日(火) 23:18

Re: クラス変数にアクセスする方法

投稿記事by よしだとものり » 2017年9月19日(火) 11:09

ありがとうございます。

一応解決して、また別の問題が出たのですが
プラグインがスマホのボタン操作のプラグインで
xxxクラスでボタンを管理して表示しているのですが
多分xxxクラスでnewするともう一つのボタンにならないでしょうか?

スマホのボタンのプラグインはおそらくxxxクラスのオブジェクトを作って
それを操作しているような気がします。
なのでxxxクラスでnewしてもaaaにはアクセスできるけど
それはスマホのプラグインのaaaではなく私が書いたコードのxxxクラスのオブジェクトに
なるような気がします。

どうも説明が下手で分かりにくくてすみません

“MV:質問” へ戻る