如何重载JavaScript对象的运算符相等性

前端之家收集整理的这篇文章主要介绍了如何重载JavaScript对象的运算符相等性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我用Dojo.declare创建了新对象.如何为对象重载operator ==?

解决方法

你不能重载==,但是==有一个隐式的.toString()调用,所以无论.toString()返回什么都会让你有效地重载==(有点):
function foo(){}
foo.prototype.toString = function(){ return 42; }

var x = new foo();
x == 42; // true

至于如何在Dojo中执行此操作,我不使用Dojo,抱歉,但要点是您获得对所创建的任何对象的引用,并在我的示例中添加thatObject.prototype.toString.

原文链接:https://www.f2er.com/js/159063.html

猜你在找的JavaScript相关文章