yishuixs 2015-09-20 06:55 采纳率: 50%
浏览 1904
已采纳

关于JS里valueOf和toString方法的问题

如下一个对象:

var obj = {
    x = 10,
    valueOf : function(){
        return this.x + 30;
    },
    toString : function(){
        return this.valueOf() + 10;
    }
} 
alert(obj);  //返回50
alert(+obj);  //返回40

请问
1、为何obj的值是50?+obj的值为何是40?obj里面的方法还没有被调用,返回值怎么就改变了呢?
2、+obj是什么意思?

谢谢!

  • 写回答

2条回答 默认 最新

  • 斯洛文尼亚旅游 2015-09-20 12:27
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?