区分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的人绝对不会无聊到去创造两个一样的方法吧.

我们稍微修改一下obj1和obj2,再来一次:

发现了什么?toLocaleString()与toString所访问的内容不太相同:toLocaleString访问的是obj3中每个元素的toLocaleString()方法,toString访问的是obj3中每个元素的toString()方法.

那么为什么toString()和toLocaleSting()是分开的?很简单,从方法命名上可以知道,toString()方法获取的是String(传统字符串),而toLocaleString()方法获取的是LocaleString(本地环境字符串).

如果你开发的脚本在世界范围都有人使用,那么将对象转换成字符串时请使用toString()方法来完成.

因为LocaleString()会根据你机器的本地环境来返回字符串,它和toString()返回的值在不同的本地环境下使用的符号会有微妙的变化.

所以使用toString()是保险的,返回唯一值的方法,它不会因为本地环境的改变而发生变化.

如果是为了返回时间类型的数据,推荐使用LocaleString().若是在后台处理字符串,请务必使用toString().

时间: 2024-08-22 21:24:32

区分javascript中的toString(),toLocaleString(),valueOf()方法的相关文章

Javascript中的toString和valueOf的区别

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

Java中区别.toString() ,(String),valueOf()方法

在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结.常用的方法有Object.toString(),(String)要转换的对象,String.valueOf(Object)等.下面对这些方法一一进行分析.方法1:采用 Object.toString()方法请看下面的例子:Object object = getObject();System.out.println(object.toString()); 在这种使用方法中,因为Ja

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 =

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

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

javascript中的toString()方法

javascript中的toString()方法,主要用于Array.Boolean.Date.Error.Function.Number等对象.下面是这些方法的一些解析和简单应用,做个纪律,以作备忘. (1)Array.toString():将数组转换成一个字符串,并且返回这个字符串.描述:当数组用于字符串环境中时,javascript会调用这一方法将数组自动转换成一个字符串.toString()在把数组转换成字符串时,首先要将数组的每个元素都转换成字符串(通过调用这些元素的toString方

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

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

JavaScript中Number常用属性和方法

title: JavaScript中Number常用属性和方法 toc: false date: 2018-10-13 12:31:42 Number.MAX_VALUE--1.7976931348623157e+308,可表示的最大数 Number.MIN_VALUE--5e-324,可表示的最小数 toExponential(x)--把对象的值转换为指数计数法 toFixed(x)--把数字转换为字符串,x为小数点后位数 toPrecision(x)--把数字格式化为指定的长度 toStri

在JavaScript中重写jQuery对象的方法

jQuery是一个很好的类库,它给我们解决了很多的客户端编程,任何东西都不是万能的,当它不能满足我们的需求时我们需要对它进行重写,同时也不要影响其原有的功能或者修改其原有的功能:我现在的web应用程序大多数时候的数据交互都是通过Ajax来完成的,这样就可以将一些隐藏字段的数据保存在HTML标签的属性中,使HTML标签的代码量减少,如:ID,Timestamp等等,这些不需要用户输入但又不得不提交的字段,通过表单提交的做法是 <input name="ID" value="

Javascript中call方法和apply方法用法和区别

第一次在博客园上面写博客,知识因为看书的时候发现了一些有意思的知识,顺便查了一下资料,就发到博客上来了,希望对大家有点帮助. 连续几天阅读<javascript高级程序设计>这本书了,逐渐发现了以前很多自己完全没有用过甚至见过的神奇知识点.今天在阅读到有关函数的属性和方法的时候,略感高级,于是乎,查阅了不少他人的博客,在此总结一下这两个方法的以下几个方面: 1.call()和apply()的作用和用法 2.什么时候用apply(),什么时候用call() 书上提到,每个函数都包含两个非继承而来