2つのJavascriptファイルがあります(A
とB
)。JScriptオブジェクトAを使用してオブジェクトBの機能が表示されない
もう1つに含まれています - B
A
のオブジェクトを使用します。私debug
機能で
最初私はAConfig
オブジェクト、 を作成し、その後、私はABuilder
とAConfig
オブジェクトを使用していますBElementBuilder
を作成します。
現時点ではすべて問題ありません。
しかし、私はbElement.getBString
を呼び出し、それがエラーでme.aBuilder.getAString(Aconfig);
に内側になり、失敗したときに、
オブジェクトはこのプロパティまたはメソッドこの問題が発生しているのはなぜ
をサポートしていませんか?
ここA
var AConfig = (function() {
function AConfig(name, flag){
this.name = (name) ? name : -1;
this.flag = (flag) ? true : false;
return this;
}
return AConfig;
})();
var ABuilder = (function() {
function ABuilder(config){
this.config = (config) ? config : new AConfig();
return this;
};
ABuilder.prototype = {
getAString: function(configObj){
var me = this,
config = (configObj) ? configObj : me.config,
name = me.name,
flag = me.flag;
return 'A name is' + name + 'flag =' + flag;
}
}
return ABuilder;
});
はここB
だだ:
!INC aFile.A
var BElementBuilder = (function() {
function BElementBuilder(aConfig, bName){
this.aConfig = (aConfig) ? aConfig : new AConfig();
this.bName = (bName) ? bName : "B";
this.aBuilder = new ABuilder();
return this;
};
BElementBuilder.prototype = {
getBString: function(configObj){
var me = this,
Aconfig = (configObj) ? configObj : me.aConfig,
name = me.bName;
//and here it fails
Aconfig = me.aBuilder.getAString(Aconfig);
return 'B has config of' + Aconfig;
}
}
return BElementBuilder;
})();
function debug(){
var aConfig = new AConfig("AAA", true);
var bElement = new BElementBuilder(aConfig);
var t = bElement.getBString(aConfig);
};
debug();
P.S. 違いがある場合はJScript
です
ああ、ありがとう!本当にばかげたミス、どうして私はそれを逃したのですか – DanilGholtsman
私は最初にそれを逃しましたが、私のデバッガが例外を確認して 'this.aBuilder'の値を示したとき、私はそれをどこかにトラッキングする必要がありました:-) – Bergi
問題は私のような実際の世界のコード例があるが、IIFEは役に立たない、うーん – DanilGholtsman