JavaScript的toString()和valueOf()函数

toString():返回当前对象的字符串形式。

该方法属于Object对象,但JavaScript的许多内置对象都重写了该函数,以实现更适合自身的功能需要。

Array.toString():

将数组的每个元素转换成字符串(通过调用元素自身的toString方法),并依次连接起来,用逗号拼接并返回。

var arr = [1, 'a', ['b', 'c'], 2, {d: 'e'}]
arr.toString() // "1,a,b,c,2,[object Object]"
复制代码

Boolean.toString():

将布尔值转换为字符串。如果布尔值是true,则返回"true"。否则返回"false"

var a = new Boolean(); // Boolean对象的默认值是false
var b = true;
a.toString(); // 'false'
b.toString(); // 'true'
复制代码

Date.toString():

将Date对象转换成一个字符串,采用本地时间。

var now = new Date();
now.toString(); // "Tue Jan 29 2019 10:01:09 GMT+0800 (中国标准时间)"
复制代码

Function.toString():

将函数转换成字符串。

function myFunc(){
    var a = 1,b = 2;
    return a + b
}

myFunc.toString(); // 返回如下:
"function myFunc(){
    var a = 1,b = 2;
    return a + b
}"
复制代码

Error.toString():

将Error对象转换成字符串。

var err = new Error('我是错误信息');
err.toString(); // "Error: 我是错误信息"
复制代码

Number.toString(radix):

以指定的基数将数字转换成字符串。参数指定用于数字到字符串的转换的基数(从2到36)。如果未指定 radix 参数,则默认值为 10

var num = 58;
num.toString(); // '58'
num.toString(2); // "111010"
num.toString(8); // '72'
num.toString(16); // '3a'
复制代码

Object.toString():

返回"[object ObjectName]",其中 ObjectName 是对象类型的名称。

var ele = document.getElementsByTagName("body");
console.log( ele.toString() ); // "[object HTMLCollection]"
console.log( ele[0].toString() ); // "[object HTMLBodyElement]"

var obj = {a: 'a', b: 'b'}
obj.toString(); // "[object Object]"
复制代码

valueOf():返回指定对象的原始值。

对象返回值
Array返回数组对象本身。
Boolean布尔值。
Date存储的时间是从 1970 年 1 月 1 日午夜开始计的毫秒数 UTC。
Function函数本身。
Number数字值。
Object对象本身。这是默认情况。
String字符串值。

Math 和 Error 对象没有 valueOf 方法。

转载于:https://juejin.im/post/5c4fafe151882524b77b937d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值