在下面的代码中,我想使用一个对Two的引用来调用其saySomething()函数。当我这样尝试时,出现此错误:
未捕获的ReferenceError:未定义。
如何更改代码以使其正常工作?
class One
{
constructor (other)
{
this.other = other;
}
doSomething ()
{
this.other.saySomething();
}
}
class Two
{
saySometing ()
{
console.log("hi");
}
}
const t = new Two();
const o = new One(t);
o.doSomething();
答案 0 :(得分:2)
您的SELECT `userid` FROM `session_keys` WHERE `sessionid`='SESSION_ID'
UPDATE `session_keys` SET `last_active`=now() WHERE `sessionid`='SESSION_ID'
声明中有错字。应该是saySometing()
。
答案 1 :(得分:-2)
不确定使用JavaScript类的最佳模式是什么,但是原型(无论如何都是底层使用的类)将允许您这样做:
var One = function() {
Two.prototype.saySomething();
}
One.prototype = {
}
var Two = function() {
}
Two.prototype = {
saySometing: function() {
console.log("hi");
}
}
const t = new One();