toString 和 valueOf 总结

两者的共同点与不同点:

  共同点:二者都能用来数据转换,并且在输出对象时会自动调用。

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

所有对象继承了两个转换方法:

toString(),主要是把对象转换为字符串;

valueOf(),主要把对象转换成一个基本数据的值;

例子:

var obj = {};
 obj.valueOf = function()
 {
 return 10;
 }
 obj.toString = function()
 {
 return "return value";
 }
 
 var result = obj + 1;  
alert(result);//var result = obj.valueOf() + 1;

 alert(obj); //alert(obj.toString());

例子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())   //‘dfsf‘
 alert(o+e);//alert(obj.valueOf()+obj.valueOf()) //‘3333‘+‘3333‘
时间: 2024-10-03 16:57:31

toString 和 valueOf 总结的相关文章

区分javascript中的toString(),toLocaleString(),valueOf()方法

首先我们随意创建一个对象,这很简单,打开FF浏览器的Firebug切换到控制台或者打开webkit浏览器的审查元素功能. 输入以下内容: var obj1=[1,2,3,4,5] var obj2=[5,4,3,2,1] var obj3=[obj1,obj2] 接着试试调用obj3的toString(),toLocaleString(),valueOf()方法: 根据输出结果可以发现toString()和toLocaleString()方法输出的内容是一样的,且都为字符串形式.而valueOf

javascript之toString()和valueOf()函数

1.我们为什么要了解这两种方法 众所周知,toString()函数和valueOf函数,这两个函数是Object类的对象生来就拥有的,而且他们还可以允许我们重写,那么,这两个函数到底有什么用呢? 从名称上判断,toString()将对象转换为字符串,valueOf将对象转化为值.那么问题来了:什么时候需要将对象转换为值,又什么时候需要将对象转换为字符串呢?------这是我们这篇文章的核心. 在谈这个问题之前,我们先看一道题目: 这是一道很经典的题目,考察的就是我们对于一些基本概念的理解,当然也

toString和valueOf

toString:第一个是toString(),它的作用是返回一个反映这个对象的字符串; toString()可以看做是把一个数据转换成了相应字符串的形式,安照这个转换规则中; valueOf:第二个是valueOf(),它的作用是返回它相应的原始值; 对象通过toString或valueOf方法转换为原始值,JS语言核心的内置类首先尝试使用valueOf(),再尝试使用toString() //返回相应的字符串 console.log( ({x:1, y:1 }).toString() );

js对象tostring和valueof方法

所有对象继承了Object.prototype的两个转换方法: 第一个是toString(),它的作用是返回一个反映这个对象的字符串; 第二个是valueOf(),它的作用是返回它相应的原始值; 但一些内置对象重写了这两个方法,下面展示了一些内置对象调用这两个方法的返回情况. 类型 toString valueOf Object 返回"[object ObjectName]",其中 ObjectName 是对象类型的名称. 对象本身.这是默认情况. String 返回 String 对

js中toLocalString()、toString()和valueOf()方法

所有的对象都具有toLocaleString().toString()和valueOf()方法,toString() 1.Array.toString():将数组转换成一个字符串,并且返回这个字符串.描述:当数组用于字符串环境中时,javascript会调用这一方法将数组自动转换成一个字符串.toString()在把数组转换成字符串时,首先要将数组的每个元素都转换成字符串(通过调用这些元素的toString方法).当每个元素都被转换成字符串时,它就以列表的形式输出这些字符串,字符串之间用逗号分隔

一日一练-JS toString 和valueOf 方法的联系与区别

子曰:类型转换中toString 和valueOf 的联系与区别分析 首先是看看ES5 的规范是如何进行说明的 在这里有几个基础知识点需要了解一下: [[Class]] [[Class]] 属于Object 的内部属性,值的类型返回为String,其作用是,说明规范定义的对象分类的一个字符串值. ES5 规范的每种内置对象都定义了[[Class]] 内部属性值.宿主对象的[[Class]] 内部属性值可以是除了"Arguments". "Array". "

toString和valueOf使得对象访问时显示一个特定格式的字符串,但是可以进行数字运算

作用 toString()的作用是返回一个反映这个对象的字符串; valueOf()的作用是返回它相应的原始值; 异同点 共同点:在 JavaScript 中,toString()方法和valueOf()方法,在输出对象时会自动调用.不同点:二者并存的情况下,在数值运算中,优先调用了valueOf,字符串运算中,优先调用了toString. js中的Date, Array, Number, Boolean, Function等访问实例的toSting方法和valueOf方法,都会返回不同的东西.

Javascript中的toString和valueOf的区别

语法:objectname.toString([radix])objectname要为其搜索字符串表示形式的对象.radix可选,为将数字值转换为字符串指定一个基数. 此值仅用于数字.toString 方法是一个所有内置的 JavaScript 对象的成员.它的行为取决于对象的类型: valueOf:返回指定对象的基元值. 语法:object.valueOf( )object 引用是任何内部 JavaScript 对象,将通过不同的方式为每个内部 JavaScript 对象定义 valueOf

js 中 toString( ) 和valueOf( )

1.toString()方法:主要用于Array.Boolean.Date.Error.Function.Number等对象转化为字符串形式.日期类的toString()方法返回一个可读的日期和字符串. 数组形式: 1 var array = ["CodePlayer", true, 12, -5]; 2 console. log( array.toString() ); 3 输出的形式为: 4 CodePlayer,true,12,-5 1 日期形式: 2 3 var date =

JavaScript的toString()和valueof()方法

toString()方法: 函数:函数 (function(){}).toString(); //返回"function(){}" typeof((function(){}).toString()); //返回string 数组:数组 [2,3,"gor"].toString(); //返回"2,3,gor" [].toString(); //返回空字符串"" 并且类型为String typeof([2,3,"gor