我有一个返回对象的函数
function a(){
return {
b:1,
c:2
}
}
做a()。b将成功返回1,但我还想在调用a()时返回除[object Object]之外的其他内容。像这样的东西
function a(){
return {
b:1,
c:2
toString: 'you got 2 values'
}
}
会呈现类似的东西
alert(a()) // you got 2 values
有可能吗?
答案 0 :(得分:2)
您需要定义类a
并在其定义中添加函数toString
。
function a(){
var _this = this;
_this.b = 1;
_this.c = 2;
_this.toString = function(){return 'you got 2 values';};
return _this;
}
现在,您可以直接在toString
上调用a
函数:
a().toString(); /*executes the function and returns 'you got 2 values'*/
或者您可以从该类d
实例化一个对象,您可以调用内部函数:
d = new a();
d.toString(); /*returns the same value*/