एक विधि के बजाय parseInt क्यों कार्य नहीं है?एक विधि क्यों नहीं है?
फंक्शन:
var i = parseInt(X);
विधि:
var i = X.parseInt();
एक विधि के बजाय parseInt क्यों कार्य नहीं है?एक विधि क्यों नहीं है?
फंक्शन:
var i = parseInt(X);
विधि:
var i = X.parseInt();
संपादित करें:
मैं 100% यकीन नहीं क्यों parseInt
String
का एक तरीका नहीं है हूँ, यह है कि सिवाय किसी भी चीज़ पर चलाया जा सकता है। ऐसा लगता है कि यह Math
का हिस्सा हो सकता है लेकिन यह वास्तव में गणितीय संचालन नहीं है।
समाप्ति संपादित
parseInt
वैश्विक वस्तु की एक विधि है। ब्राउज़र में, वैश्विक वस्तु window
है। आप window.parseInt()
पर कॉल कर सकते हैं, लेकिन जेएस इंजन आपको वैश्विक तरीकों से कॉल शॉर्टकट करने देता है।
उस ने कहा, इसके लिए कुछ लागत है क्योंकि इंजन को parseInt
की परिभाषाओं की तलाश में स्कोप चेन स्कैन करना होगा। आम तौर पर, अगर मैं एक भी एक दायरे के भीतर इस तरह के एक विधि के लिए कॉल करने के लिए कर रही हूँ, मैं इसे बंद वैश्विक संदर्भ लेंगे:
var foo = function (someString) {
var bar;
// ...
bar = window.parseInt(someString, 10);
// ...
};
मेरे कोड एक दायरे के भीतर विधि करने के लिए एक से अधिक कॉल करने के लिए की जरूरत है, हालांकि, मैं इसे स्थानीयकृत करता हूं और संदर्भ का उपयोग करता हूं:
var foo = function (someString, someOtherString) {
var parseInt = window.parseInt,
bar,
baz;
// ...
bar = parseInt(someString, 10);
baz = parseInt(someOtherString, 10);
// ...
};
से अपने रूपांतरण के बाद 120 नंबर असाइन किया गया है, मुझे लगता है कि वह शायद पूछ रहा है कि यह 'संख्या' का तरीका क्यों नहीं है। –
हां, शायद वह है - हालांकि मुझे लगता है कि यह "स्ट्रिंग' की विधि" क्यों नहीं है? "। – JAAulde
@amnotiam - यही मैंने भी पाया है, लेकिन parseInt() को (और शायद नहीं होना चाहिए (कम से कम, इसे संख्याओं पर चलाने के लिए आवश्यक नहीं है)) संख्याओं पर चलें लेकिन सबकुछ _but_ संख्याओं पर (मुझे लगता है कि यही कारण है कि यह 'संख्या' की विधि नहीं है)। – powerbuoy
यदि एक्स को अपरिभाषित किया गया तो यह एक त्रुटि फेंक देगा? – jishi
@ जिशी: यदि 'एक्स' 'अपरिभाषित' है, तो संपत्ति को एक्सेस करने का प्रयास करते समय आपको हमेशा एक त्रुटि मिल जाएगी। यह सुनिश्चित नहीं है कि 'parseInt'' के साथ क्या करना होगा 'संख्या' की विधि नहीं है। –
@amnotiam 'parseInt (अपरिभाषित) === NaN' अगर' पर्सिंट ''स्ट्रिंग' या 'संख्या'' की विधि थी तो' अपरिभाषित .parseInt() 'अपवाद फेंक देगा 'NaN' – JaredMcAteer