javascript中tostring()和valueof()的用法及两者的区别

基本上,所有JS数据类型都拥有valueOf和toString这两个方法,null除外。它们俩解决javascript值运算与显示的问题。

1.用法如下:

toString()方法:返回对象的字符串表示。

Box" style="border-bottom: silver 1px solid; text-align: justify; border-left: silver 1px solid; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; letter-spacing: normal; border-collapse: collapse; font: 12px/18px Verdana,Helvetica,Arial; white-space: normal; color: rgb(48,48,48); border-top: silver 1px solid; border-right: silver 1px solid; word-spacing: 0px; -webkit-text-stroke-width: 0px"> ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">对象ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,Arial; color: rgb(48,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">Arrayottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">将

Array

的元素转换为字符串。结果字符串由逗号分隔,且连接起来。ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">Booleanottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">如果 Boolean 值是

true

,则返回 “true”。否则,返回 “false”。ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">Dateottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">返回日期文字表示法。ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">Errorottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">返回一个包含相关错误消息的字符串。ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">Functionottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">返回如下格式的字符串,其中functionname是被调用

toString

方法函数名称
ottom: 0px">function functionname( ) { [native code] }
ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">Numberottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">返回数字的文字表示。ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">Stringottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">返回

String

对象的值。ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">认ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">返回 “imsun">[object objectname]”,其中imsun">objectname是对象类型的名称

valueOf()方法:返回指定对象的原始值。

ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">操作
Box" style="border-bottom: silver 1px solid; text-align: justify; border-left: silver 1px solid; text-transform: none; background-color: rgb(255,48); border-top: silver 1px solid; border-right: silver 1px solid; word-spacing: 0px; -webkit-text-stroke-width: 0px"> ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">对象ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">Arrayottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">数组的元素被转换为字符串,这些字符串由逗号分隔,连接在一起。其操作与

Array.toString

Array.join

方法相同。ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">Booleanottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">Boolean 值。ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">Dateottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">存储的时间是从 1970 年 1 月 1 日午夜开始计的毫秒数decoration: none" href="http://blog.sina.com.cn/s/glossary.htm#defutctime">UTC。ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">Functionottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">函数本身。ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">Numberottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">数字值。ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">Objectottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">对象本身。这是认情况。ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">Stringottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; line-height: 1.5; padding-left: 3px; padding-right: 3px; border-collapse: collapse; font-family: Verdana,48); font-size: 12px; word-break: break-all; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">字符串值。

2.两者的共同点与不同点:

共同点:在 JavaScript 中,toString()方法和valueOf()方法,在输出对象时会自动调用

不同点:二者并存的情况下,在数值运算中,优先调用了valueOf,字符串运算中,优先调用了toString。

例子1如下:

rush:js;">

例子2如下:

rush:js;"> 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())

****toString vs valueOf的差别:

返回值类型的差别:

1. toString一定将所有内容转为字符串

2. valueOf取出对象内部的值,不进行类型转换

用途的差别:

1. valueOf专用于算数计算和关系运算

2. toString专用于输出字符串

共同的缺点:无法获取null和undefined的值

PS:Java中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类型是一个引用的复杂类型) 如:

rush:js;"> String a= "123"; Integer c =Integer.valueOf(a); //Integer类型可以用intValue方法转化为int类型 int b =c.intValue();

这时候这个b就等于123了

3. toString()可以把一个引用类型转化为String字符串类型。

下面举个例子与2相反,把Integer转化为String类型:

Integer a = new Integer(123); String b =a.toString();

这时候b就是 "123" 了

int parseInt() String intValue() ValueOf() Integer

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...
ottom: silver 1px solid; border-left: silver 1px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; border-collapse: collapse; border-top: silver 1px solid; border-right: silver 1px solid; padding-top: 3px">返回值