• 技术文章 >Web开发 >JavaScript

    js中valueOf和toString的区别

    小妮浅浅小妮浅浅2021-11-17 15:06:20原创11571

    这两种方法都是对象的原始方法。

    1、valueOf是对象的原始值,通常不显示调用,通常由js在后台自动调用。

    2、toString本身的一个功能是字符串的转换,也会自动转换。

    3、如果重写这两种方法,运算时优先调用valueOf,显示时优先调用toString。

    如果只重写一种方法,则在运算和显示时优先调用该方法。

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    var obj={

    num:1,

    toString:function(){

    return this.num+1;

    },

    valueOf:function(){

    return this.num+2;

    }

    }

    //因为num在valueOf中被引用,所以不会被垃圾回收机制回收

    console.log(obj==2);//3 运算时应该调用valueOf()

    //alert(obj);//2 浏览器弹窗

      

    var obj={

    num:1,

    toString:function(){

    return this.num+1;

    },

    valueOf:function(){

    return this.num++;

    }

    }

    以上就是js中valueOf和toString的区别,希望对大家有所帮助。更多js学习指路:js教程

    推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。

    专题推荐:js valueof tostring
    上一篇:js创建构造函数的注意点 下一篇:js中构造器属性的介绍

    相关文章推荐

    • js子类型重写的注意点• js使用构造函数的缺点• js原型链的优缺点• js自定义事件的实现• js Number数据类型的介绍• js Bigint数据类型是什么• js中null是什么• js中symbol是什么• js创建构造函数的注意点

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网