我想知道如何创建一个对象,例如MyObject(),它可以像我们+(new MyObject())喜欢的javascript Date对象一样:
var a = new Date();
alert(+a);
Run Code Online (Sandbox Code Playgroud)
你的对象需要有这样的valueOf方法:
var f=new function(){
this.valueOf=function(){
return 5;
}
};
alert(+f); // Displays 5
Run Code Online (Sandbox Code Playgroud)
如果您不想在对象上定义方法,而是根据prototype建议的注释定义该方法,请使用以下命令:
function MyObject(value){
this.value = value;
}
MyObject.prototype.valueOf = function(){
return this.value
}
var o = new MyObject(17);
alert(+o); // Displays 17
Run Code Online (Sandbox Code Playgroud)