कुछ अजीब बात है।isNaN() बनाम parseInt() भ्रम
क्यों
isNaN("")
साथ मैं False
लेकिन parseInt("")
मैं NaN
साथ
मिल सकता है?
कुछ अजीब बात है।isNaN() बनाम parseInt() भ्रम
क्यों
isNaN("")
साथ मैं False
लेकिन parseInt("")
मैं NaN
साथ
मिल सकता है?
isNaN
एक तर्क के रूप में एक पूर्णांक लेता है - इसलिए जे एस धर्मान्तरित ""
0
को
parseInt
एक तर्क के रूप में एक स्ट्रिंग लेता है - इसलिए एक खाली स्ट्रिंग नहीं एक नंबर
पहले से ही उत्तर दिया गया है - डुप्लिकेट http://stackoverflow.com/questions/825402/why-does-isnan -equal-false –
'isNaN' एक" पूर्णांक "नहीं लेता है, यह * एक संख्या (जो सभी आईईईई -754 युगल हैं, उदाहरण के लिए 'आईएसएनएएन (0.5)' उपज 'झूठी' है), यही कारण है कि यह कोशिश करता है * प्रकार बदलें * तर्क मान संख्या – CMS
आपका अधिकार - लेकिन मैं तर्क को सरल रखने की कोशिश कर रहा था। –
इसका कारण यह है ""
शून्य के बराबर है है जावास्क्रिप्ट में "" == 0
आज़माएं। इसका अर्थ यह है कि यदि आप इसे संख्यात्मक समीकरण में मूल्यांकन करने का प्रयास करते हैं, तो यह 0 के रूप में सामने आएगा। जब आप इसे दूसरी ओर पार्स करते हैं तो यह महसूस होता है कि वहां कुछ भी नहीं है।
parseInt
के विकल्प के रूप में आप Math.floor
का उपयोग कर सकते हैं। यह ""
के लिए आपको 0
देगा।
"बराबर है" से आपका क्या मतलब है? – Kos
http://stackoverflow.com/questions/825402/why-does-isnan-equal-false –
का संभावित डुप्लिकेट क्योंकि 'isNaN'' parseInt' का उपयोग नहीं करता है? –
कुंजी ** ** रूपांतरण रूपांतरण ** और ** पार्सिंग ** के बीच अंतर को समझना है, दृश्यों के पीछे 'isNaN',' तर्क 'प्रकार के लिए अपने तर्क का प्रकार टाइप करेगा, जबकि' parseInt' कोशिश करेगा * पार्स * प्रदान की गई स्ट्रिंग। यह भी देखें: http://stackoverflow.com/questions/4090518/string-to-int-use-parseint-or-number – CMS