基本上,所有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">
Array的元素转换为字符串。结果字符串由逗号分隔,且连接起来。true,则返回 “true”。否则,返回 “false”。文字表示法。错误消息的字符串。functionname是被调用toString方法函数的名称:
- function functionname( ) { [native code] }
文字表示。String对象的值。”,其中 是对象类型的名称。
valueOf()方法:返回指定对象的原始值。
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">
Array.toString和Array.join方法相同。。函数本身。
2.两者的共同点与不同点:
共同点:在 JavaScript 中,toString()方法和valueOf()方法,在输出对象时会自动调用。
不同点:二者并存的情况下,在数值运算中,优先调用了valueOf,字符串运算中,优先调用了toString。
例子1如下:
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());
例子2如下:
****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类型是一个引用的复杂类型)
如:
方法转化为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
| |