javascript 变量未定义(超出范围)

标签 javascript

我在引用变量时遇到了一个奇怪的问题。我的设置如下:

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,我不知道为什么会发生这种情况。在 Adob​​e 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/

相关文章:

类内的 JavaScript 变量始终未定义

javascript - 设置状态时出现未定义错误

javascript - 小部件安全

javascript - ES6 Koa.js 运行生成器函数完成并异步返回

javascript - 完全展开这个 CSS inline-block div scan-line

email - 微软 Jscript 电子邮件模块?

使用 JSON 的 JavaScript 编程逻辑

javascript - 如何为不可见的 HTML 元素定义 accesskey

触发 CSS3 过渡的 JavaScript 函数不起作用

javascript - 您能否让 Ember.TextField 等到更改后才更新其值绑定(bind)?