js中valueOf和toString的区别

美女程序员鼓励师

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

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

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

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

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

实例

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的区别 的全部内容, 来源链接: utcz.com/z/546286.html

回到顶部