两者的共同点与不同点:

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

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

最新文章

  1. gradlew wrapper使用下载到本地的gradle.zip文件装配--转
  2. php : DOM 操作 XML
  3. Servlet实现自动刷新功能
  4. 学习笔记之SQL
  5. 操作系统之进程篇(4)--经典进程间通信(IPC)问题
  6. PHP上传图片
  7. VBO
  8. 使用Dubbox构架分布式服务
  9. linux操作系统基础篇(四)
  10. QPropertyAnimation实现图形,控件的旋转和位移动画,尤其是旋转
  11. JSON数组形式字符串转换为List<Map<String,String>>的8种方法
  12. ranch 源码分析(三)
  13. linux命令之间的分号,&&, ||
  14. linux 下使用 curl post
  15. Ubuntu 软件包管理工具 dpkg, APT 的一些命令(转载)
  16. 文件系统层级结构标准(FHS)
  17. Qualcomm Vuforia SDK背景
  18. Docker-Compose API too old for Windows
  19. mysql日期获取
  20. Centos7/RHEL 7 配置静态路由

热门文章

  1. SqlAlchemy基本
  2. kubernetes1.9 手动安装
  3. 二叉树遍历,递归,栈,Morris
  4. Tomcat 源码分析(转)
  5. Django---自定义admin组件思维导图
  6. Maven:Eclipse上Maven的配置
  7. 转换数据库连接池为hikaricp
  8. [CTSC2008]祭祀river
  9. LeetCode—— Invert Binary Tree
  10. EF Code-First 学习之旅 EntityTypeConfiguration<TEntity>