我在引用变量时遇到了一个奇怪的问题。我的设置如下:
var pattern = {/* some object with patterns */};
var view = (new function() {
this.create_single = function(response) {
pattern.block // this returns pattern object correctly
};
this.create_multi = function(response) {
pattern.multi_block // this returns pattern as undefined
};
}());
var data = (new function() {
this.acquisition = function(response) {
view.create_single(response);
view.create_multi(response);
};
}());
因此,在create_multi
方法中,模式变量返回undefined
,我不知道为什么会发生这种情况。在 Adobe Dreamweaver(我用来编写代码)中,我有一个行错误,提示 'pattern'used out of range
。谁能帮我理解发生了什么?
感谢您的帮助;)
最佳答案
您的方法没问题,但您的“查看”方法没有返回任何内容。它在以下场景中运行良好:
var pattern = {
block: 1,
multi_block: 2
};
var view = (new function() {
this.create_single = function(response) {
return pattern.block // this returns pattern object correctly
};
this.create_multi = function(response) {
return pattern.multi_block // this returns pattern as undefined
};
}());
关于javascript 变量未定义(超出范围),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42780729/