javascript 之 valueOf

var m = { 
    i:10, 
    toString:function () { 
        console.log('toString'); 
        return this.i; 
    }, 
    valueOf:function () { 
        console.log('valueOf'); 
        return this.i; 
    } 
}; 
console.log(m);// toString 
console.log(String(m)); // toString 
console.log(+m); //  valueOf 
console.log('' + m); // valueOf 
console.log(Number(m)); // valueOf 
console.log(m == '10'); //  valueOf 

console.log(m === '10'); // false //=== 不进行转换

在有操作符的情况 下,valueOf的优先级本来就比toString的高。valueOf解决值运算问题,toString解决显示问题。

posted @ 2014-01-22 21:02  等风来。。  Views(201)  Comments(0Edit  收藏  举报
------------------------------------------------------------------------------------------------------------ --------------- 欢迎联系 x.guan.ling@gmail.com--------------- ------------------------------------------------------------------------------------------------------------