当我想在子函数中将构造函数定义为我的对象的属性时,它会在我调用构造函数时显示错误的错误:
'undefined' is not a function (evaluating 'arr[0].myval()')
我定义我的对象,如下面的代码'
function stocks(nemad,url,content) {
this.url=url;
this.nemad=nemad;
this.content=content;
var me=this;
nemad = require('webpage').create();
nemad.open(url, function (status) {
this.myval=function () {
return nemad.evaluate(function() {
var myans=document.getElementById("d12").innerHTML;
return myans;
}); };
}); };
当我致电console.log("it's :"+arr[0].myval());
时,它无法工作......我犯了错误
答案 0 :(得分:0)
您已正确关闭,但从未使用过它:
var me = this;
...
nemad.open(url, function (status) {
me.myval = function () {
...
答案 1 :(得分:0)
我发现,我们可以在加载nemad(例如phantomjs中的网页对象)之后,web可以使用nemad评估代码定义一个函数。像下面的代码。
nemad.onLoadFinished = function() {
// here you can call a function that evaluating nemad
};
一个必须重要的一点是,您可以在页面加载完成后调用评估