तेजी से होता है कौन सा:कौन सा तेजी से होता है: अगर (वर == 'मान') या अगर (/value/.test(var))
if (var == 'value')
या
if (/value/.test(var))
तेजी से होता है कौन सा:कौन सा तेजी से होता है: अगर (वर == 'मान') या अगर (/value/.test(var))
if (var == 'value')
या
if (/value/.test(var))
if (a == 'b')
if (/b/.test(a))
से तेज़ होगा, लेकिन वे समान कॉल नहीं हैं।
'something' == 'some'
false
है, जबकि /some/.test('something')
true
है।
एक से दूसरे में बदलने का एकमात्र कारण होगा यदि दूसरा अधिक उपयुक्त हो। यदि आप गति के बारे में चिंतित हैं, तो अपनी स्क्रिप्ट को बेंचमार्क करें और जांचें कि एक विशिष्ट if
कथन के बारे में चिंता करने से पहले बाधाएं कहां हैं।
आप सभी को धन्यवाद! टिप्पणियों और उत्तरों ने काफी मदद की। – Upworks
if(var == 'value')
। बहुत से लेकिन अगर आप वास्तव में तेजी से चाहते हैं, तो if(var === 'value')
करें। सख्त समतुल्यता टाइप-कॉर्डेड समकक्षता से बहुत कम काम करती है।
लेकिन '===' '==' से अधिक सख्त है, इसलिए यह वास्तव में एक ड्रॉप-इन प्रतिस्थापन नहीं है। – Blender
@ ब्लेंडर: यह ओपी निर्दिष्ट दो चीजों के बराबर है। – chaos
यह वास्तव में "बहुत से नहीं" ... – jondavidjohn
एक विशाल गति अंतर है, लेकिन पूर्व निश्चित रूप से अधिक पठनीय है और अधिक समझ में आता है ...
पूछने एक तेजी से होता है जो करने के बजायडांग आप मुझे jsperf करने के लिए हराया! –
यह परीक्षण ओपी के मामले के लिए पूरी तरह से उपयुक्त नहीं है (भले ही हम मान लें कि उसका मतलब '/^मूल्य $ /। परीक्षण (var)') है। समतुल्यता खराब है क्योंकि परीक्षण केस-असंवेदनशील तुलना की है, इसलिए '==' और '===' नामक परीक्षण वास्तव में 'toLowerCase() 'की (बल्कि भारी) लागत को अवशोषित कर रहे हैं। – chaos
, तो आप पर विचार करना चाहिए जो एक, और अधिक स्पष्ट स्पष्ट है , और सही (मुझे लगता है कि गैर स्ट्रिंग मानों के लिए कुछ अंतर है)। – delnan
वे दो ऑपरेशन एक ही काम नहीं करते हैं। उस कार्य को चुनें जो कार्य के लिए उचित है, और समय-समय पर अनुकूलन न करें। – zzzzBov
उस http://jsperf.com/regex-vs-string-equals/2 :-) –