2011-07-13 9 views
130

यह वास्तव में एक साधारण प्रश्न की तरह लगता है लेकिन मुझे कोई भाग्य नहीं मिला। +dजावास्क्रिप्ट: चर से पहले प्रतीक

function addMonths(d, n, keepTime) { 
    if (+d) { 

का अर्थ क्या है?

+0

संभावित डुप्लिकेट ['वापसी + नई तिथि' में प्लस साइन क्या करता है] (http://stackoverflow.com/questions/221539/what-does-the-plus-ign-do-in-return- नई तिथि) – nawfal

+1

वही समस्या लेकिन अन्य पृष्ठ का शीर्षक सामान्य मामले का वर्णन नहीं करता है क्योंकि यह – geotheory

+0

संभव डुप्लिकेट करता है [जावास्क्रिप्ट में '+ ...' मतलब क्या है] (https://stackoverflow.com/q/15129137/1048572) – Bergi

उत्तर

158

+ ऑपरेटर ऑब्जेक्ट का संख्यात्मक प्रतिनिधित्व देता है। तो आपके विशेष मामले में, यह अनुमान लगाया जाएगा कि डी गैर-शून्य संख्या है या नहीं।

संदर्भ here। और, टिप्पणियों में बताया गया है, here

+4

डॉक्स: https://developer.mozilla.org/en/JavaScript/Reference/Operators/Arithmetic_Operators#.2b_(Unary_Plus%29 –

+1

ठीक है, पॉल। @amateur, विवरण यहां हैं: https: // डेवलपर .mozilla.org/en/जावास्क्रिप्ट/संदर्भ/ऑपरेटर/अंकगणित_ऑपरेटर्स # .2b_ (Unary_Plus) –

+12

किसी भी समस्याग्रस्त जावास्क्रिप्ट प्रतियोगिता के लिए कोई भी? –

11

यह एक यूनरी "+" ऑपरेटर है जो एक संख्यात्मक अभिव्यक्ति उत्पन्न करता है। यह d*1 जैसा ही होगा, मुझे विश्वास है।

9

जैसा कि अन्य उत्तरों में बताया गया है, यह चर को एक संख्या में परिवर्तित करता है। विशेष रूप से उपयोगी जब डी या तो कोई संख्या या फ़ंक्शन हो सकता है जो किसी संख्या का मूल्यांकन करता है।

उदाहरण (प्रश्न में addMonths समारोह का उपयोग कर):

addMonths(function(){return x*y;}, 1, true); 
addMonths(34,1,true); 
addMonths("34",1,true); 

तो +d सभी मामलों में एक नंबर करने के मूल्यांकन करेंगे। इस प्रकार प्रकार की जांच करने की आवश्यकता से बचें और d पर निर्भर करते हुए अलग-अलग कोड पथ लें, एक संख्या या एक स्ट्रिंग जिसे किसी संख्या में परिवर्तित किया जा सकता है।

+0

'+ d' addMonths –

+0

सत्य के पहले आमंत्रण उदाहरण के साथ किसी संख्या का मूल्यांकन नहीं करेगा, मुझे नहीं पता कि मैंने यह कब लिखा था। '+ function() {...} '' NaN' का उत्पादन करेगा, जो फ़ंक्शन का मूल्यांकन नहीं करेगा – ecerulm

संबंधित मुद्दे