这两种方法都是对象的原始方法。
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
暂无评论内容