valueOf() 和 toString() 的异同

总的来说,valueOf()返回的是一个“值”,而toString()返回的是一个字符串。

及时返回的结果是一样的,但是valueOf()就是要比toString()高一个档次。人家返回的数字都是蓝色的,你的却永远是灰色。

列一个无聊的表呢,大概是这样。

浏览器的输出呢,是这样:(上边是toString,下边是valueOf,依次输出了,对象,数组,函数,日期,布尔,字符串,数字)

但是你刷新一下呢,他就变成了这样:

代码:

var obj = {name:"Tom"};
var arr = [1,2,3,4,5];
var fun = function(){
    return 1;
};
var date = new Date();
var bool = true;
var str = "STR";
var num = 4;

console.log(obj.toString());
console.log(obj.valueOf());
console.log(arr.toString());
console.log(arr.valueOf());
console.log(fun.toString());
console.log(fun.valueOf());
console.log(date.toString());
console.log(date.valueOf());
console.log(bool.toString());
console.log(bool.valueOf());
console.log(str.toString());
console.log(str.valueOf());
console.log(num.toString());
console.log(num.valueOf());

  

时间: 2024-11-05 13:43:27

valueOf() 和 toString() 的异同的相关文章

关于valueOf和toString

//大概...... 前言 基本上,所有JS数据类型都拥有这两个方法,null除外.它们俩解决javascript值运算与显示的问题,重写会加大它们调用的优化. 测试分析 先看一例: var aaa = {   i: 10,   valueOf: function() { return this.i+30; },   toString: function() { return this.valueOf()+10; }  } alert(aaa > 20); // true  alert(+aaa

Simulate getter in JavaScript by valueOf and toString method

function Foo(a, b) { this.a = a; this.b = b; // simulate getter via valueOf and toString method this.sum = { valueOf: function () { return a + b }, toString: function () { return a + b } } } alert(new Foo(2, 3).sum); Simulate getter in JavaScript by

valueOf()、toString()

基本上,所有JS数据类型都拥有valueOf和toString这两个方法,null除外.它们俩解决javascript值运算与显示的问题. JavaScript 的 valueOf() 方法 valueOf() 方法可返回 Boolean 对象的原始值. 用法booleanObject.valueOf(),返回值为booleanObject 的原始布尔值.如果调用该方法的对象不是 Boolean,则抛出异常 TypeError. var boo = new Boolean(false); con

Javascript中valueOf与toString区别

疑问: 在JS的数据类型中有两个方法 Object.prototype.valueOf 和 Object.prototype.toString,在实例到这两个的区别是什么? 我们进行如下的实例步骤: 案例1. var test={ age:20, toString:function(){return this.age-10;}, //重写 toString() valueOf:function(){return this.age+40;} //重写 valueOf() } 运行如下代码: ale

valueOf和toString的区别

基本上所有的JavaScript数据类型都有valueOf(),toString()方法,null除外,这两个方法解决了JavaScript值运算和显示的问题 valueOf()会把数据类型转换成原始类型,也就是说原来是什么类型,转换后还是什么类型,日期类型除外 toString()会把数据类型转换成string类型,也就是说不管原来是什么类型,转换后一律是string类型 这两个方法有意思的地方在于什么时候使用,总结如下: 1.valueOf()偏向于运算,toString()偏向于显示 2.

valueOf() 和 toString()

valueOf():如果存在任意原始值,返回最适合该对象类型的原始值. toString():将该对象的原始值以字符串形式返回. 这两个方法一般是交由JS去隐式调用,以满足不同的运算情况.  举个栗子:看图中(不要管那两个undefined),两种方法返回的true 颜色不同哦!因为toString()返回的是字符串,而valueOf()返回的是原始值. END valueOf() 和 toString()

String、String.valueOf、toString 它们三者的区别总结

今天在使用这个的时候发现,他们三者好像在某些场所都是可以用的,但是不免会让人想到那既然它们三者这么的相似,那么总有些什么区别吧.我也在网上找了一些资料看.自己也看了API文档,就将他们三的区别总结一下吧.用了这么长时间,才发现有这些的不同,也是挺惭愧的. 先说他们三的作用是什么吧:没什么特别的作用,就是让我们得到的对象或参数类型,按照要求转成字符串的形式. String:毫无疑问,这种就是强转形式,简单方便,效率高.java程序员可能看到效率高或许有些激动,但是它有他的不好,那就是局限性.在ja

valueOf跟toString区别

1.用法如下:toString()方法:返回对象的字符串表示. 对象 操作 Array 将 Array 的元素转换为字符串.结果字符串由逗号分隔,且连接起来. Boolean 如果 Boolean 值是 true,则返回 “true”.否则,返回 “false”. Date 返回日期的文字表示法. Error 返回一个包含相关错误消息的字符串. Function 返回如下格式的字符串,其中 functionname 是被调用 toString 方法函数的名称: function function

Java 常用之String.valueOf、toString、(String)

在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能 常用的方法有Object#toString(),(String)要转换的对象,String.valueOf(Object)等 字符串类型的转型在java中常用的方法有标题中的三种. 简单介绍: 1.toString,需要保证调用这个方法的类.方法.变量不为null,否则会报空指针. 2.String.valueOf.这个方法在使用的时候是有些特殊的.一般情况下,如果是确定类型的null传入,返回的是字符串"null