鉴于以下内容:
var someObject = {};
someObject.prototype.a = function() {
};
someObject.prototype.b = function() {
//How can I call someObject.a in this function?
};
如何从someObject.b调用someObject.a?感谢。
答案 0 :(得分:2)
这将有效:
someObject.prototype.b = function() {
this.a();
};
但是,您对someObject
的定义略有错误,应该是:
var someObject = function() {};
测试脚本:
var someObject = function() {};
someObject.prototype.a = function() {
alert("Called a()");
};
someObject.prototype.b = function() {
this.a();
};
var obj = new someObject();
obj.b();
答案 1 :(得分:0)
我想你可能打算这样做:
function Thingy() {
}
Thingy.prototype.a = function() {
};
Thingy.prototype.b = function() {
this.a();
};
var someObject = new Thingy();
构造函数,而不是普通对象,具有特殊的prototype
属性。构造函数的prototype
通过new
关键字作为其基础原型分配给使用该构造函数创建的所有对象,这为它们提供了默认属性(可以引用函数,如上所述)。 / p>