我在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一个?
只是澄清一下@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); };
移动this。gettid函数如下:JSFiddle
function MyClass(id)
{
// ==========================================================================
this.getID = function(id) { return ("tooltip_" + id); }
// ==========================================================================
this.attribID = this.getID(id);
}