如何从对象返回可读字符串

时间:2013-12-05 18:15:14

标签: javascript object

我有一个返回对象的函数

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

有可能吗?

1 个答案:

答案 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*/