//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())
toString() / valueOf()方法汇总
最新推荐文章于 2022-04-19 16:35:11 发布
这篇博客详细介绍了JavaScript中对象的toString()和valueOf()方法的使用,包括它们在不同对象类型如字符串、数组、日期、数字、正则和函数上的应用。同时,展示了如何通过这些方法获取对象的原始值或字符串表示形式。文章还提供了多个示例来帮助理解这些核心概念。
摘要由CSDN通过智能技术生成