本人觉得存在一个就够了,其理念都是转换成字符串。期待大家不同的见解。
valueOf
优先级高于 toString
http://stackoverflow.com/questions/2485632/valueof-vs-tostring-in-javascript
这个valueOf
和java的那个不是一回事,java的那个的确相同,可是js里面不是这么用的。他的作用是把包装器对象拆成基元类型。
num = new Number(123);
//Number {123}
num.valueOf();
//123
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
吐血ing...强烈推荐题主有事没事去查手册!传送门
toString()是转化成字符串应该没什么歧义,其他很多语言也都有这么一个函数,比如Java,C#
Reference to Object.prototype.valueOf
我想纠正一下题主的想法:
1. toString()和valueOf()完全是做两件事的函数
2. valueOf()之所以很少用到,如上面所说的,因为js会在需要的时候会自动调用这个函数。
3. 如果你可能需要用到valueOf(),它的作用是返回一个对象的原始值,比如: