如何在JavaScript中调用另一个对象的函数?

时间:2018-07-26 23:14:27

标签: javascript

在下面的代码中,我想使用一个对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();

2 个答案:

答案 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();