原谅标题,但我不确定这叫什么(也许是事件?):
我创建了一个有人会使用的课程:
function cls_something()
{
this.notify('hello');
}
现在使用我的类的人创建了一个名为'notify'的方法(按照我的指示),以便监听通知,然后使用我传递的参数执行他们自己的自定义代码:
var something = new cls_something();
something.notify = function(message)
{
console.log('The notification is ' + message);
}
如何在课堂内调用此方法给他通知消息?
我正在努力实现这样的目标...
websocket = new WebSocket("ws://localhost:10000");
websocket.onopen = function(e)
{
console.log('you are connected');
}
websocket.onmessage = function(e)
{
console.log('omg wtf ffs, there was an error: ' + e.msg);
}
答案 0 :(得分:0)
你可以直接调用this.notify(" Message");但是,您可能想要检查是否首先定义了它。
编辑1:
好的,所以你的问题是你在定义之前直接从构造函数调用函数。如果需要在构造函数中定义,则将该函数作为参数传递。
function cls_something(notifyFunction)
{
notifyFunction('hello');
}
编辑2:
正如我们要清楚的那样,如果您愿意,可以让您的班级用户稍后定义功能。显然,你不能直接从构造函数中运行它们。如果从构造函数中运行它们,则需要事先定义它们。
说你的课就像
function cls_something()
{
this.someFunctionThatIsRunLater = function() {
this.notify('hello');
}
}
然后你的客户可以写
var something = new cls_something();
something.notify = function(message)
{
console.log('The notification is ' + message);
}
然后,当客户端调用
时something.someFunctionThatIsRunLater();
将通知通知。