首页 > 代码库 > toString 和 valueOf 总结
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 总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。