js中valueOf和toString的区别

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

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

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

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

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

实例

varobj={
num:1,
toString:function(){
returnthis.num+1;
},
valueOf:function(){
returnthis.num+2;
}
}
//因为num在valueOf中被引用,所以不会被垃圾回收机制回收
console.log(obj==2);//3运算时应该调用valueOf()
//alert(obj);//2浏览器弹窗

varobj={
num:1,
toString:function(){
returnthis.num+1;
},
valueOf:function(){
returnthis.num++;
}
}

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

原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容