标题: [讨论] 有关valueOf跟toString
民工精髓
大恐龙
Rank: 4



UID 66672
精华 0
积分 529
帖子 153
威望 158
阅读权限 50
注册 2007-3-21
状态 离线
 
发表于 2008-8-5 19:44  资料  个人空间  短消息  加为好友 
有关valueOf跟toString

刚才翻帖子,看到有人提到对于这两个东西有疑问,举个简单例子:

假设在古代,一两黄金换20两白银,一两白银换25枚铜钱,构建描述货币的类:

   提示:您可以先修改部分代码再运行

运行一下,可以看到结果。

这里隐式调用了valueOf跟toString,二者并存的情况下,在数值运算中,优先调用了valueOf,字符串运算中,优先调用了toString。比如
money1 + money2,调用的就是两者valueOf之后的值相加,而alert的时候,把money3先toString了一下。

这个例子其实是模仿js内置对象Date的,Date基本上也是这样处理问题的。





技术是一种气质
顶部
los
霸王龙
Rank: 6Rank: 6


UID 81082
精华 0
积分 2527
帖子 966
威望 865
阅读权限 70
注册 2007-12-28
状态 离线
 
发表于 2008-8-5 20:34  资料  个人空间  短消息  加为好友 
很好的例子





回到以前自由自在的生活中~~~
顶部
los
霸王龙
Rank: 6Rank: 6


UID 81082
精华 0
积分 2527
帖子 966
威望 865
阅读权限 70
注册 2007-12-28
状态 离线
 
发表于 2008-8-5 20:40  资料  个人空间  短消息  加为好友 


   提示:您可以先修改部分代码再运行






回到以前自由自在的生活中~~~
顶部
yangfion171
大恐龙
Rank: 4


UID 83468
精华 0
积分 952
帖子 353
威望 337
阅读权限 50
注册 2008-3-4
状态 离线
 
发表于 2008-8-5 21:05  资料  个人空间  短消息  加为好友 
呵呵,有趣
通俗意懂的例子

   提示:您可以先修改部分代码再运行






不要问我为什么这么写
顶部
kuku_john
霸王龙
Rank: 6Rank: 6



UID 51166
精华 0
积分 2214
帖子 970
威望 991
阅读权限 70
注册 2006-5-4
状态 离线
 
发表于 2008-8-6 08:11  资料  个人空间  短消息  加为好友 
很好很强大

学习了!

顶部
wangjianbo (星期六的黄昏)
大恐龙
Rank: 4


UID 79170
精华 0
积分 939
帖子 441
威望 433
阅读权限 50
注册 2007-11-20
状态 离线
 
发表于 2008-8-6 09:52  资料  个人空间  短消息  加为好友 
这个帖子太及时了,感觉就是专门给我写的

顶部
 



当前时区 GMT+8, 现在时间是 2010-7-31 04:42
苏ICP备05080427号

Powered by Discuz! 5.5.0  © 2001-2007 51JS.COM
Processed in 0.200665 second(s), 8 queries , Gzip enabled

清除 Cookies - 联系我们 - 无忧脚本 - Archiver