मुझे पता __proto__है कि पदावनत किया गया है (या मानक का हिस्सा नहीं है) और वह सब लेकिन मैं अभी भी उत्सुक हूं कि इसका क्या मतलब है जब यह अमान्य तिथि कहता है जब मैं __proto__मूल्य को देखता हूं ।
var myDate = new Date(1331869050000);
मुझे पता __proto__है कि पदावनत किया गया है (या मानक का हिस्सा नहीं है) और वह सब लेकिन मैं अभी भी उत्सुक हूं कि इसका क्या मतलब है जब यह अमान्य तिथि कहता है जब मैं __proto__मूल्य को देखता हूं ।
var myDate = new Date(1331869050000);
जवाबों:
"मैं अभी भी उत्सुक हूं कि इसका क्या मतलब है जब यह अमान्य तिथि कहता है"
यह बस कंस्ट्रक्टर फ़ंक्शन toStringके prototypeऑब्जेक्ट का मूल्य है Date।
Date.prototype.toString(); // "Invalid Date"
यदि आप चाहें तो आप इसे ओवरराइड कर सकते हैं ...
Date.prototype.toString = function() { return "I like turtles." };
var myDate = new Date(1331869050000);
myDate.__proto__; // I like turtles.
थोड़ा दूर का विषय, लेकिन __proto__ECMAScript के अगले संस्करण के लिए मौजूदा कामकाजी मसौदे में कोडनेम हार्मनी है।
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts
- निर्दिष्ट
__proto__विशेषता के साथ अनुभाग B.3.1 जोड़ा गया ।
आपने एक नई दिनांक वस्तु बनाने पर विचार करते हुए, मैं इसके बारे में चिंता नहीं करूंगा। यदि आप इस कोड को आजमाते हैं, तो इसका कारण:
var myDate = new Date(1331869050000);
alert(typeof myDate.getMonth != 'undefined') //true
यह निर्धारित करेगा कि आप दिनांक ऑब्जेक्ट विधियों को इनहेरिट कर रहे हैं और वास्तव में, दिनांक IS निर्धारित है।
यदि आप आगे की जांच करना चाहते हैं, तो इस पोस्ट को देखें।
Date.prototypeवस्तु अपने आप में एक दिनांक वस्तु है लेकिन इसकी[[PrimitiveValue]]आंतरिक संपत्ति हैNaN(यह तारीख पर वस्तुओं की आंतरिक संपत्ति समय मूल्य संग्रहीत करता है), इसलिए यह प्रतिनिधित्व नहीं करता है वास्तव में एक वैध तारीख।Date.prototypeइसी तरह की एक वस्तु हैnew Date(NaN)...