toString() / valueOf()方法汇总

这篇博客详细介绍了JavaScript中对象的toString()和valueOf()方法的使用,包括它们在不同对象类型如字符串、数组、日期、数字、正则和函数上的应用。同时,展示了如何通过这些方法获取对象的原始值或字符串表示形式。文章还提供了多个示例来帮助理解这些核心概念。
摘要由CSDN通过智能技术生成
 		//toString方法汇总如下:
        //obj.toString() 检测对象类型 Date String Math undefined null
        //str.toString() 返回对象的字符串形式 
        //arr.toString() 返回字符串 1,2,a,b 逗号连接
        //dateobj.toString() 返回字符串
        //numobj.toString(radix) 返回对象的字符串形式 radix进制数10默认
        //reg.toString() 返回正则表达式的字符串形式
        //fn.toString() 返回表示函数源代码的字符串

        //valueOf()方法汇总如下:
        //obj.valueOf() 返回原始值 或者arr obj fn返回自身(没有原始值)
        //重写的valueOf()方法
        //str.valueOf() 返回原始值
        //dateobj.valueOf() 返回原始值
        //numobj.valueOf() 返回原始值
        //bool.valueOf() 返回原始值
        //boolean返回true/false Date返回毫秒数 Number返回数值 String返回字符串
        //Math Error没有valueOf方法


        //obj.toString()
        let obj3 = new Object()
        console.log(obj3.toString()) //[object Object]
        let obj4 = {name:'zhangsan'}
        console.log(obj4.toString()) //[object Object]
        //toString()检测对象类型
        let toString = Object.prototype.toString
        console.log(toString.call(new Date)) //[object Date]
        console.log(toString.call(new String)) //[object String]
        console.log(toString.call(Math)) //[object Math]
        console.log(toString.call(undefined)) //[object Undefined]
        console.log(toString.call(null)) //[object Null]

        //obj.valueOf() 返回对象的原始值primitiveValue
        //arr.obj.fn 返回值是本身
        let array = ['a','b',33]
        console.log('--------------')
        console.log(array.valueOf() === array) //true
        let date = new Date()
        console.log(date.valueOf()) //1970-1-1到此刻的总毫秒数
        let num = 15.456
        console.log(num.valueOf())
        let str1 = '123456abc'
        console.log(str1.valueOf()) //123456abc
        let bool = true
        console.log(bool.valueOf()) //true
        let newBool = new Boolean(true)
        console.log(newBool.valueOf() === newBool) //false
        let fun = function () {}
        console.log(fun.valueOf() === fun) //true
        let obj5 = {}
        console.log(obj5.valueOf() === obj5) //true obj,arr,fn的返回值是自身

        //str.toString() str.valueOf()
        let x = new String('hello world')
        console.log('------------')
        console.log(x)
        console.log(x.toString()) //hello world
        console.log(x.valueOf()) //hello world

        //arr.toString()
        let arr = ['a','b','c',3]
        console.log('------------')
        console.log(arr.toString()) // a,b,c,3

        //dateObj.toString() dateObj.valueOf()
        let date1 = new Date()
        console.log('------------')
        console.log(date1.toString()) //格式化时间
        console.log(date1.valueOf()) //1970到此刻的总毫秒数

        //numObj.toString(radix) radix进制数,默认10(十进制)
        //numObj.valueOf()
        let num1 = new Number(111)
        console.log('------------')
        console.log(num1.toString()) //111(字符串)
        console.log(num1.valueOf()) //111(数字)

        //regexpObj.toString()
        let reg = new RegExp('aaaa')
        console.log('------------')
        console.log(reg.toString()) // /aaaa/
        console.log(reg.valueOf())

        //fn.toString()
        let fn = function () { console.log('-----fn----')}
        console.log(fn.toString())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值