他们三个级别都称不上大傻逼,但是我每次遇到这三傻逼区别就困惑我就得百度,这次总结下,以后别再区别来困扰我
1. toString( ) 方法,将所有的数据类型转换为string类型 如 1 转换 "1" false转换为"false" var arr =[1,2,3,4] 转换为"1,2,3,4" var obj={name:"小明"}转换为"[object Object]" 剩下的日期啥的基本都是转换为字符串形式的样子没啥说的
2. toString( ) 和 toLocaleString( ) 的区别 (这两傻逼玩意在没有特殊情况的时候也体现不出啥区别,但是使用在不同的对象或者其他的数据类型上的时候,这傻逼开始有不同了举例如下:)
当String类型时 "1234". toString( ) 转换后的样子完全和 "1234". toLocaleString( )的样子一样
当Number类型时 1234遇到这两傻逼的时候他们展示的样子就不一样了 1234. toString( )输出"1234" 1234. toLocaleString( )输出 "1,234" 他会三位切割的样子,输出的是字符串
当Date类型时 var t = new Date() t .toString() 输出 "Mon Apr 20 2020 10:51:11 GMT+0800 (中国标准时间)" t .toLocaleString()输出 "2020/4/20 上午10:51:11"
当Object类型时 var a={name:"xiaoming"} a.toLocaleString()--->"[object Object]" a.toString()--->"[object Object]" 无表现区别
当Array类型时 var arr =[1,2,3,4] 都转换为"1,2,3,4" 无样子区别
3. toString( ) 和 valueOf( ) 这两傻逼的区别也是数据类型不一样的时候,他们的区别就展现出来了 其中 valueOf( )这傻逼返回的是相对类型的原始值,说白了就是他妈他自己的本来面目,具体的区别例子如下:
当Array类型时 var arr =[1,2,3,4] arr.valueOf() 输出-------->[1, 2, 3, 4] arr.toString() 输出---->'1,2,3,4'
当Object类型时 var a={name:"xiaoming"} a.valueOf()输出 {name: "xiaoming"} a.toString() 输出----->"[object Object]"
当Date类型时 var date=new Date() date.valueOf()输出1587351885340 date.toSrting()输出"Mon Apr 20 2020 10:51:11 GMT+0800 (中国标准时间)"