• valueOf()与toString()


    toString()

      // 数字进制转换
            console.log((1).toString()) // 1
            console.log((10).toString(2)) // 1010
            console.log((10).toString(4)) // 22
            console.log((10).toString(8)) // 12
            console.log((10).toString(10)) // 10 
            console.log((10).toString(16)) // a
            console.log(('11111').toString()) //11111
            console.log(false.toString()) //false
            console.log(true.toString()) //true
            // 原型上不存在toString()
            // console.log(undefined.toString()) // Cannot read properties of undefined (reading 'toString')
            // console.log(null.toString()) // Cannot read properties of null (reading 'toString')
            console.log((function(){}).toString()) // function(){}
            console.log(({a:1}).toString()) //[object Object]
            console.log(([1,2,3]).toString()) // 1,2,3 
            console.log((new Date()).toString()) //Mon Jun 13 2022 14:08:56 GMT+0800 (中国标准时间)
            var test= Object.prototype.toString;
            console.log(test.call(1));//[object Number]
            console.log(test.call("1"));//[object String]
            console.log(test.call(false));//[object Boolean]
            console.log(test.call({a:1}));//[object Object]
            console.log(test.call(undefined));//[object Undefined]
            console.log(test.call(null));//[object Null]
            console.log(test.call(function(){}));//[object Function]
            console.log(test.call([1,2,3,4]));//[object Array]
            console.log(test.call(new Date()));//[object Date]
            console.log(test.call(new RegExp()));//[object RegExp]
            console.log(test.call(new Map()));//[object Map]
    
    

    valueOf()

            console.log((1).valueOf()) //1 number
            console.log((10).valueOf(2)) // 10 自动忽略传入的参数2
            console.log(('1').valueOf()) // 1 string
            console.log((false).valueOf()) // false
            console.log((true).valueOf()) // true
            // console.log((null).valueOf()) // Cannot read properties of null (reading 'valueOf')
            // console.log((undefined).valueOf()) // Cannot read properties of undefined (reading 'valueOf')
            console.log((function(){}).valueOf()) //ƒ (){}
            console.log(([1,2,3]).valueOf()) //[1, 2, 3]
            console.log((new Date()).valueOf()) //1655101282926 此刻的时间戳
            console.log(new Date(1655101282926))
    

    共同点

        1、null、undefined都没有toString() 与 valueOf()方法
        2、toString()可以接收参数 把数字类型转换成不同进制的数 而valueOf()只会返回原始值
        3、toString() 方法可以用于检测数据类型 Object.prototype.toString 配合 indexOf()
  • 相关阅读:
    HTCVive摄像头的一些好玩的现象
    AI之A*算法
    C#预处理器指令之#define/#undefine/#if/#elif/#else/#endif
    AI之有限状态机
    Unity之动态加载场景资源
    Canvas
    DFGUI之界面文字显示异常
    Unity Application
    AI:确定性AI
    php正则表达式
  • 原文地址:https://www.cnblogs.com/cwl1025/p/16370784.html
Copyright © 2020-2023  润新知