原型中的Javascript范围问题

时间:2016-05-20 16:32:59

标签: javascript

我开始认为这好一点。但我还有一个问题。假设我的函数类如下所示:

module.exports = myFunc;

var containerValue = element(by.css('div#container'));

function myFunc() {}

myFunc.prototype = {
    section1: {
        __myBlock: containerValue.$('div#myBlock'),
        myRow: {
            label: function() {
                return __myBlock.$('label');
            }
            input: function() {
                return __myBlock.$('input');
            }
        }
    }
}

首先,我要指出上述情况将会失败。我撞到了那堵墙,终于意识到了这一点。原因是__myBlock不在myRow的代码块范围内。我通过执行以下操作来修复此问题:

return myFunc.prototype.section1.__myBlock.$('label');

但是,我尝试(并且失败)的方法之一是通过执行以下操作将__myBlock拉入myRow范围:

myRow: {
    __myBlock: myFunc.prototype.section1.__myBlock,
    label: {
        return this.__myBlock.$('label');
    }
    // ...
}

我的问题是,我的工作是“修复”最好的方法吗?有没有更好的方法来完成我想要做的事情?

0 个答案:

没有答案