在与另一个实例进行比较时,我的类实例如何隐式返回一个数字?

时间:2016-05-06 17:10:10

标签: javascript object compare object-comparison

看看这个例子:

var d1 = new Date(2016,4,1);
var d2 = new Date(2016,4,2);
if (d2 > d1){ .... }

正如您在日期对象中看到的,当您比较两个实例时,它们会隐式返回此实例的getTime()方法。

我想对我的对象做同样的事情。

想象一下,我的班级是这样的:

var myClass = function (arg1,arg2,arg3){
   ....
   ....
   ....
   this.myNumber = function (){
         return arg1 + arg2+ arg3;
   }
}

我想比较我班级的两个实例,然后比较他们myNumber()方法的价值。

1 个答案:

答案 0 :(得分:4)

为您的班级定义valueOf()方法:

var myObj = function(arg1,arg2,arg3) {
   ....
   ....
   ....
   this.valueOf = function() {
     return arg1 + arg2+ arg3;
   }
}

请参阅a JS Bin demo