码迷,mamicode.com
首页 > 其他好文 > 详细

toString 和 valueOf 总结

时间:2017-05-03 13:04:24      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:没有   prototype   eof   alert   font   基本   pre   dfs   class   

两者的共同点与不同点:

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

 

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

标签:没有   prototype   eof   alert   font   基本   pre   dfs   class   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!