toString 和 valueOf 总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了toString 和 valueOf 总结相关的知识,希望对你有一定的参考价值。
两者的共同点与不同点:
共同点:二者都能用来数据转换,并且在输出对象时会自动调用。
不同点:二者并存的情况下,在数值运算中,优先调用了valueOf,字符串运算中,优先调用了toString,没有操作运算符的情况下,优先调用toString。
所有对象继承了两个转换方法:
toString(),主要是把对象转换为字符串;
valueOf(),主要把对象转换成一个基本数据的值;
例子:
var obj = {}; obj.valueOf = function() { return 10; } obj.toString = function() { return "return value"; } var result = obj + 1; alert(result);//var result = obj.valueOf() + 1; alert(obj); //alert(obj.toString());
例子2
function obj() { } obj.prototype.toString = function(){ return ‘dfsf‘; }; obj.prototype.valueOf = function(){ return ‘3333‘; }; var e = new obj(); var o = new obj(); alert(o);//alert(obj.toString()) //‘dfsf‘ alert(o+e);//alert(obj.valueOf()+obj.valueOf()) //‘3333‘+‘3333‘
以上是关于toString 和 valueOf 总结的主要内容,如果未能解决你的问题,请参考以下文章
Java中区别.toString() ,(String),valueOf()方法