So che __proto__
è deprecato (o non fa parte dello standard) e tutto il resto, ma sono ancora curioso di sapere cosa significhi quando si dice Data non valida quando guardo il __proto__
valore di ..
var myDate = new Date(1331869050000);
So che __proto__
è deprecato (o non fa parte dello standard) e tutto il resto, ma sono ancora curioso di sapere cosa significhi quando si dice Data non valida quando guardo il __proto__
valore di ..
var myDate = new Date(1331869050000);
Risposte:
"Sono ancora curioso di sapere cosa significhi quando si dice Data non valida"
Questo è semplicemente il toString
valore prototype
dell'oggetto della Date
funzione di costruzione.
Date.prototype.toString(); // "Invalid Date"
Puoi sovrascriverlo se vuoi ...
Date.prototype.toString = function() { return "I like turtles." };
var myDate = new Date(1331869050000);
myDate.__proto__; // I like turtles.
Un po 'fuori tema, ma __proto__
è nella bozza di lavoro corrente per la prossima versione di ECMAScript, nome in codice Harmony.
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts
- Aggiunta sezione B.3.1 con specifica
__proto__
funzionalità.
considerando che hai creato un nuovo oggetto Date, non me ne preoccuperei. Il motivo è che, se provi questo codice:
var myDate = new Date(1331869050000);
alert(typeof myDate.getMonth != 'undefined') //true
Ciò determinerà che si ereditano i metodi degli oggetti Date e che di fatto è definita la data.
Se desideri ulteriori indagini, dai un'occhiata a questo post.
Date.prototype
oggetto è un oggetto Date di per sé ma la sua[[PrimitiveValue]]
proprietà interna lo èNaN
(questa proprietà interna sugli oggetti data memorizza il valore temporale ), quindi non rappresenta effettivamente una data valida.Date.prototype
è un oggetto simile anew Date(NaN)
...