2013-06-07 13 views
32

मुझे eq की परिभाषा में jQuery स्रोत कोड में निम्न स्निपेट मिला समारोह:`j = + i + (i <0? Len: 0) '(jQuery स्रोत कोड से लिया गया) में अग्रणी` + `क्यों

j = +i + (i < 0 ? len : 0) 

मैं +i से आश्चर्यचकित था। इसके बजाय, मैं उम्मीद करता था:

j = i + (i < 0 ? len : 0) 

क्या अंतर है? उस अग्रणी + की उपयोगिता क्या है?

+0

किसी संख्या पर डालने के लिए। – NINCOMPOOP

+0

ओह ... मैं '0 + x' का उपयोग करता था ... ऐसा लगता है कि' + x' पर्याप्त है :) – anishsane

+0

संभावित डुप्लिकेट [जावास्क्रिप्ट में = + _ _ मतलब क्या है] (http: // stackoverflow। कॉम/प्रश्न/1512 9 737/व्हाट्स-इट-इन-जावास्क्रिप्ट) और संभवतः यह भी [क्या यूनरी प्लस और माइनस ऑपरेटरों का महत्वपूर्ण उपयोग है?] (http://stackoverflow.com/questions/5450076/whats-the-ignificant गैर-प्लस-एंड-माइनस-ऑपरेटरों का उपयोग) – apsillers

उत्तर

32

चर के सामने के साथ साथ एक नंबर करने के लिए यह डाले।

उदाहरण के लिए:

var x = "12"; 
console.log(x + 3); //logs 123; 
console.log(+x + 3) //logs 15; 
+10

कारण संख्या NaN गतिशील रूप से टाइप की गई भाषा का उपयोग नहीं करने के लिए – MikeFHay

+2

प्रो और कॉन हैं। बस मतभेद सीखें और 0 कारण नहीं होंगे। –

43

+i संख्या के लिए coerces। उदाहरण के लिए, "1" + 1 बनाम +"1" + 1 कोशिश (पूर्व "11" है, जबकि दूसरा 2 है)

+3

ठोस, स्पष्टीकरण समझने में आसान। +1 – tymeJV

5

मुझे लगता है कि यह एकल ऑपरेटर है: What does the plus sign do in '+new Date'

मूल रूप से यह मजबूर किसी संख्या में बदला जाना है।

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