gpt4 book ai didi

javascript - 我收到 : Cannot call method 'someMethodName' of undefined when trying to access an object in a javascript clas

转载 作者:行者123 更新时间:2023-11-28 19:15:21 24 4
gpt4 key购买 nike

我对 JavaScript 几乎是新手,我正在尝试访问类中的对象。这是我在名为analysis.po.js 的文件中的类定义:

var AnalysisPage = function () {
(some code here)
this.getSpousesCreditBureau = function() {
return {
pdScore: getSpousesCreditBureauElement('pdScore'),
qualification: getSpousesCreditBureauElement('qualification'),
estimatedFee: getSpousesCreditBureauElement('estimatedFee'),
currentDebt: getSpousesCreditBureauElement('currentDebt'),
maxDebt: getSpousesCreditBureauElement('maxDebt'),
arrears: getSpousesCreditBureauElement('arrears'),
segment: getSpousesCreditBureauElement('segment'),
bpGlobalRisk: getSpousesCreditBureauElement('bpGlobalRisk'),
groupGlobalRisk: getSpousesCreditBureauElement('groupGlobalRisk')
};
};
(some other code here)
};
module.exports = new AnalysisPage();

这是我尝试在另一个名为analysis.spec.js的文件中获取对象getSpousesCreditBerauElement的代码:

var App = require('../app.po.js'),
Util = require('../util.js'),
AnalysisPage = require('./analysis.po.js'),
AnalysisData = require('./analysis.data.js');
(some code here)
var analysis = new AnalysisPage();
Util.verifyElementsAreDisplayed(analysis.getSpousesCreditBureau());
(some other code here)

我收到的错误是:无法调用未定义的方法“getSpousesCreditBureau”

最佳答案

您实际上并未导出 AnalysisPage 并且未正确调用它。

<小时/>

导出类:

module.exports = AnalysisPage;

比较

module.exports = new AnalysisPage();

导出该类的实例

<小时/>

正确的调用方法是:

var instance = new AnalysisPage();
Util.verifyElementsAreDisplayed(instance.getSpousesCreditBureau());

(原问题已修改,代码为:)

var analysis = new AnalysisPage();
Util.verifyElementsAreDisplayed(AnalysisPage.getSpousesCreditBureau());
<小时/>

您可以仅导出实例,在这种情况下可以这样调用它:

var instance = require('./analysis.po.js');
Util.verifyElementsAreDisplayed(instance.getSpousesCreditBureau());

所以任何地方都没有new

关于javascript - 我收到 : Cannot call method 'someMethodName' of undefined when trying to access an object in a javascript clas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29973968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com