我在javascript中创建了这个类:
function MyClass(id)
{
this.attribID = this.getID(id);
// ==========================================================================
this.getID = function(id) { return ("tooltip_" + id); }
// ==========================================================================
}
当我从我的HTML中调用它时:
<script>
var a = new MyClass("onecell");
</script>
它会生成此错误:this.getID is not a function
如何使用MyClass中定义的泛型函数初始化我的属性,该函数也可以从init之外的许多其他地方调用?
答案 0 :(得分:3)
简单说明@RobG建议的内容
有两种方法可以做到。
更改作业顺序:
function MyClass(id)
{
this.getID = function(id) { return ("tooltip_" + id); }
this.attribID = this.getID(id);
}
或者使用类原型:
function MyClass(id)
{
this.attribID = this.getID(id);
}
MyClass.prototype.getID = function(id) { return ("tooltip_" + id); };
答案 1 :(得分:2)
只需移动this.getID函数:JSFiddle
function MyClass(id)
{
// ==========================================================================
this.getID = function(id) { return ("tooltip_" + id); }
// ==========================================================================
this.attribID = this.getID(id);
}