js不同数据类型下的toString()与toLocaleString()的输出差异

时间: 2017-12-05阅读: 2188标签: js知识

toString()与toLocaleString()方法主要针对对象Object转换为字符串,如果是基本类型调用它们的时候,先会把基本类型实例化为对应的对象类型,然后在转换为字符串。如:var test= 'a';这里的test并不是对象类型,但是在调用时会首先通过new String()将它实例化为String包装类型。这篇文章主要讲解不同数据类型下的toString()与toLocaleString()的输出差异。


1.数字:

var n=123.126
console.log(n.toString());//"123.126"
console.log(n.toLocaleString());//"123.126"

如果是3位以内,小数位>=3的数字,toString()与toLocaleString()方法返回的是一样的字符串。

var n=1234.1267
console.log(n.toString());//"1234.1267"
console.log(n.toLocaleString());//"1,234.127"

如果是4位以上数字,则toLocaleString会让数字三位三位一分隔;如果小数位>3,则toLocaleString最后一位根据“四舍五入“,值的注意的是toLocaleString在IE下是不保留小数位的。

当toString和toLocaleString带参数时:

var n=1234.1267
console.log(n.toString(8));//"2322.10067551210635"
console.log(n.toLocaleString('zh-Hans-CN-u-nu-hanidec'));//"一,二三四.一二七"

toString中传入的参数表示需要转换的进制,而toLocaleString具体参数可查考:MDN


2.日期

var n=new Date()
console.log(n);//Tue Dec 05 2017 11:13:06 GMT+0800 (中国标准时间)
console.log(n.toString());//Tue Dec 05 2017 11:13:06 GMT+0800 (中国标准时间)
console.log(n.toLocaleString());//2017/12/5 上午11:13:06

toString转换为以默认的国际化日期显示格式的字符串,而toLocaleString转换为以本地日期显示格式的字符串。


3.其它类型效果都相同

数组:将数组转化为以,分隔的字符串。可用于多维数组转换一位数组【数组的扁平化】

var n=[1,2,[3,4]]
console.log(n.toString());//1,2,3,4
console.log(n.toLocaleString());//1,2,3,4


函数:都是函数转化为字符串

var n=function(){
};
console.log(n.toString());//function (){}
console.log(n.toLocaleString());//function (){}


布尔值:都是将布尔值转化为字符串

var n=true;
console.log(n.toString());//true
console.log(n.toLocaleString());//true


字符串:因其本身就是字符串

var n='abc';
console.log(n.toString());//abc
console.log(n.toLocaleString());//abc


​对象:

var n={
	name:'tony',
};
console.log(n.toString());//[object Object]
console.log(n.toLocaleString());//[object Object]


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/222

js设备判断_判断移动端还是PC端?判断android还是ios?判断移动端浏览器类型?

js判断用户的浏览设备是移动设备还是PC?判断详细浏览器设备信息。判断微信、新浪、QQ打开。判断是android系统还是ios系统...

js判断是否为IE浏览器的多种方法总汇

这篇文章主要整理通过js来判断浏览器是否为IE的多种方法。使用js脚本判断浏览器是否为ie,这里分享六种判断是否为ie的方法,有需要的朋友参考学习下。

19 个 JavaScript 常用有用的简写技术

Js中有用的简写技术:1.三元操作符、2.短路求值简写方式、3.声明变量简写方法、4.if存在条件简写方法、5.JavaScript循环简写方法、6.短路评价...

js中async与defer

async 异步加载,立即下载,不应妨碍页面其他操作,标记为 async 的异步脚本并不保证按照指定的先后顺序执行,用async很容易出错,async 是无序执行,自身加载完就会执行;

JS方法整理_js常用函数大全

都是日常工作中使用的一些js方法,整理出来以便大家学习使用。主要包括:Js获取页面地址参数 、千分位 、判断是否数字 、图片按比例压缩、截取指定字节数的字符串、判断是否微信 、获取时间格式的几个举例 、获取字符串字节长度 、对象克隆、深拷贝 ...

js中&与&&,|与||的区别

&、|、~都是位操作符,而&&、|、~|都是逻辑操作!。&&是逻辑与运算符假前真后,||是逻辑或运算符真前假后,&是按位与操作两个数值的个位分别相与,同时为1才得1,只要一个为0就为0。

JS的变量作用域问题,理解js全局变量和局部变量问题

js的变量分为2种类型:局部变量和全局变量。主要区别在于:局部变量是指只能在变量被声明的函数内部调用,全局变量在整个代码运行过程中都可以调用。值得注意的js中还可以隐式声明变量,而隐式声明的变量千万不能当做全局变量来使用。

Js常用基础算法

冒泡排序;插入排序 过程就像你拿到一副扑克牌然后对它排序一样;快速排序;回文字符串;翻转字符串;字符串中出现最多次数的字符;数组去重;二分查找

为什么javascript不起作用?

JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

JS中的词法作用域(静态作用域)和动态作用域

首先说明一下,JavaScript没有用动态作用域概念,但 this 机制却和动态作用域类似!JavaScript是通过作用域链的方式进行变量查找的,而JS作用域链是词法作用域,也就做静态作用域!词法作用域:在函数声明(定义)时确定的

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!