Je sais __proto__
est obsolète (ou ne fait pas partie de la norme) et tout cela, mais je suis toujours curieux de savoir ce que cela signifie quand il dit Date invalide quand je regarde le __proto__
valeur de..
var myDate = new Date(1331869050000);
"Je suis toujours curieux de savoir ce que cela signifie quand il dit Date invalide"
Il s'agit simplement de la valeur toString
de l'objet prototype
de la fonction constructeur Date
.
Date.prototype.toString(); // "Invalid Date"
Vous pouvez le remplacer si vous le souhaitez ...
Date.prototype.toString = function() { return "I like turtles." };
var myDate = new Date(1331869050000);
myDate.__proto__; // I like turtles.
Un peu hors sujet, mais __proto__
est dans le projet de travail actuel pour la prochaine version d'ECMAScript, nom de code Harmony.
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts
- Ajout de la section B.3.1 avec spécifie
__proto__
fonctionnalité.
étant donné que vous avez créé un nouvel objet Date, je ne m'en inquiéterais pas. La raison étant, si vous essayez ce code:
var myDate = new Date(1331869050000);
alert(typeof myDate.getMonth != 'undefined') //true
Cela déterminera que vous héritez des méthodes des objets Date et qu'en fait, Date IS défini.
Si vous souhaitez une enquête plus approfondie, jetez un œil à this post.
Le prototype d'une instance de Date n'a pas de valeur définie. Seule l'instance a une valeur. Vous le définissez lorsque vous l'instanciez.