javascript中tostring()和valueof()的用法及两者的区别
基本上,所有JS数据类型都拥有valueOf和toString这两个方法,null除外。它们俩解决javascript值运算与显示的问题。
1.用法如下
toString()方法返回对象的字符串表示。
对象 | 操作 |
---|---|
Array | 将 Array 的元素转换为字符串。结果字符串由逗号分隔,且连接起来。 |
Boolean | 如果 Boolean 值是 true,则返回 “true”。否则,返回 “false”。 |
Date | 返回日期的文字表示法。 |
Error | 返回一个包含相关错误消息的字符串。 |
Function | 返回如下格式的字符串,其中 functionname 是被调用 toString 方法函数的名称
|
Number | 返回数字的文字表示。 |
String | 返回 String 对象的值。 |
默认 | 返回 “[object objectname] ”,其中 objectname 是对象类型的名称。 |
valueOf()方法返回指定对象的原始值。
对象 | 返回值 |
---|---|
Array | 数组的元素被转换为字符串,这些字符串由逗号分隔,连接在一起。其操作与 Array.toString 和 Array.join方法相同。 |
Boolean | Boolean 值。 |
Date | 存储的时间是从 1970 年 1 月 1 日午夜开始计的毫秒数 。 |
Function | 函数本身。 |
Number | 数字值。 |
Object | 对象本身。这是默认情况。 |
String | 字符串值。 |
2.两者的共同点与不同点
共同点在 JavaScript 中,toString()方法和valueOf()方法,在输出对象时会自动调用。
不同点二者并存的情况下,在数值运算中,优先调用了valueOf,字符串运算中,优先调用了toString。
例子1如下
<script> var obj = {}; obj.valueOf = function() { return 10; } obj.toString = function() { return "return value"; } var result = obj + 1; //var result = obj.valueOf() + 1; alert(result); alert(obj); //alert(obj.toString()); </script>
例子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()) alert(o+e);//alert(obj.valueOf()+obj.valueOf()) </script>
toString vs valueOf的差别:
返回值类型的差别
1. toString一定将所有内容转为字符串
2. valueOf取出对象内部的值,不进行类型转换
用途的差别
1. valueOf专用于算数计算和关系运算
2. toString专用于输出字符串
共同的缺点无法获取null和undefined的值
PSJava中parse()和valueOf(),toString()的区别
1.parse()是SimpleDateFomat里面的方法,你说的应该是parseInt()或parsefloat()这种方法吧,
顾名思义 比如说parseInt()就是把String类型转化为int类型。
如
String a= "123";
int b = Integer.parseInt(a);
这样b就等于123了。
2.ValueOf()方法比如说 Integer.valueOf() 是把String类型转化为Integer类型(注意是Integer类型,而不是int类型,int类型是表示数字的简单类型,Integer类型是一个引用的复杂类型)
如
String a= "123"; Integer c =Integer.valueOf(a); //Integer类型可以用intValue方法转化为int类型 int b =c.intValue();
这时候这个b就等于123了
3. toString()可以把一个引用类型转化为String字符串类型。
狼蚁网站SEO优化举个例子与2相反,把Integer转化为String类型
Integer a = new Integer(123);
String b =a.toString();
这时候b就是 "123" 了
int
parseInt()
String intValue()
ValueOf()
Integer
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程