如何在JavaScript中公开方法
我有一个名为如何在JavaScript中公开方法,javascript,methods,visibility,Javascript,Methods,Visibility,我有一个名为Grid的对象,我使用new来创建它的实例。我希望能够从外部调用它的方法 这是(简化的)对象: 我发现其他主题也有类似的问题,但它们使用非常不同的对象结构。有没有可能在不重写所有内容的情况下公开该方法?实际对象实际上比这个大。您可以将其添加到对象原型中: var Grid = function() { .. }; Grid.prototype.methodName = function() { .. }; 也可以将其作为属性添加到构造函数中 var Grid = function(
Grid
的对象,我使用new
来创建它的实例。我希望能够从外部调用它的方法
这是(简化的)对象:
我发现其他主题也有类似的问题,但它们使用非常不同的对象结构。有没有可能在不重写所有内容的情况下公开该方法?实际对象实际上比这个大。您可以将其添加到对象原型中:
var Grid = function() { .. };
Grid.prototype.methodName = function() { .. };
也可以将其作为属性添加到构造函数中
var Grid = function() {
this.methodName = function() { .. };
};
请注意,您可以将其添加到对象原型中:
var Grid = function() { .. };
Grid.prototype.methodName = function() { .. };
也可以将其作为属性添加到构造函数中
var Grid = function() {
this.methodName = function() { .. };
};
请注意您可以将方法放在原型上。
this.publicMethod=function(){…}构造函数中的code>为使用该构造函数创建的每个实例创建一个公共的自己的方法。或者this.setSelectedLine=setSelectedLine代码>(是的,把它们放在原型上可能更好)(误导性的名字)谢谢。我以前试过,但现在我意识到当我使用self.port.emit(“event”,gridObj)传递Grid
对象时会出现问题代码>(它是Firefox扩展)。看起来收到的对象和我发送的不一样。我必须学习更多关于扩展开发的知识。你可以把这些方法放在原型上。this.publicMethod=function(){…}构造函数中的code>为使用该构造函数创建的每个实例创建一个公共的自己的方法。或者this.setSelectedLine=setSelectedLine代码>(是的,把它们放在原型上可能更好)(误导性的名字)谢谢。我以前试过,但现在我意识到当我使用self.port.emit(“event”,gridObj)传递Grid
对象时会出现问题代码>(它是Firefox扩展)。看起来收到的对象和我发送的不一样。我必须学习更多关于扩展开发的知识。