Per esempio:È possibile modificare il nome di un tipo di oggetto in JavaScript?
Object.prototype.toString.call(new Date); // [object Date]
Object.prototype.toString.call(new Array); // [object Array]
Object.prototype.toString.call(new Object); // [object Object]
Ora considerare questo:
var PhoneNumber = function(number) {
this.number = number;
}
posso ignorare il metodo toString()
, ma non davvero rinominare il tipo di oggetto. E 'solo un pò finge esso:
PhoneNumber.prototype.toString = function() {
return '[object PhoneNumber]';
}
new PhoneNumber().toString(); // [object PhoneNumber]
Tuttavia, h4x0rs l33t sanno il mio metodo toString()
è una bugia e io sono un n00b:
Object.prototype.toString.call(new PhoneNumber); // [object Object]
Quello che vorrei che il risultato sia, a prescindere dal toString()
metodo viene sovrascritto sul prototipo:
Object.prototype.toString.call(new PhoneNumber); // [object PhoneNumber]
è possibile?
ho fatto funzionare;) – CoderPi