我有一个名为Grid
的对象,我使用new
来创建它的实例。我希望能够从外面调用它的方法。
这是(简化)对象:
var Grid = function() {
this.table = createTable();
function createTable() {
// ...
};
function setSelectedLine(line) { // this one should be public
// ...
};
};
var g = new Grid();
g.setSelectedLine(anyLine); // TypeError: g.setSelectedLine is not a function
我发现了其他类似问题的主题,但它们使用了截然不同的对象结构。是否有可能将该方法公之于众,而无需重写所有内容?真正的对象实际上比那更大。
答案 0 :(得分:6)
你可以将它添加到对象原型中:
var Grid = function() { .. };
Grid.prototype.methodName = function() { .. };
或者您可以将其添加为构造函数中的属性。
var Grid = function() {
this.methodName = function() { .. };
};