如何创建像Date()这样的javascript对象?

Ara*_*oor 1 javascript date

我想知道如何创建一个对象,例如MyObject(),它可以像我们+(new MyObject())喜欢的javascript Date对象一样:

var a = new Date();
alert(+a);
Run Code Online (Sandbox Code Playgroud)

Aug*_*ing 8

你的对象需要有这样的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)