首页 > 其他 > 详细

toString 和 valueOf 总结

时间:2017-05-03 12:58:04      阅读:241      评论:0      收藏:0      [点我收藏+]

两者的共同点与不同点:

  共同点:二者都能用来数据转换,并且在输出对象时会自动调用。

 

  不同点:二者并存的情况下,在数值运算中,优先调用了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 总结

原文:http://www.cnblogs.com/web-fusheng/p/6801106.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!