दिलचस्प पोस्ट
जावा: स्थानीय चर मील को परिभाषित गुंजाइश में परिभाषित किया जाना अंतिम या प्रभावी रूप से अंतिम होना चाहिए जावास्क्रिप्ट में "|" (एकल पाइप) क्या करता है? बावर्ची व्यंजनों में समय बनाम चलाने का समय संकलित करें क्रिप्ट / ब्लॉफ़िश दो अलग-अलग नमक के साथ ही हैश क्यों बनाता है? स्ट्रिंग में पायथन के अंदर मैं एक वैरिएबल कैसे डालूं? मौजूदा वाईफाई हॉटस्पॉट नाम को प्राप्त करने के लिए मैं कैप्टिव नेटवर्क का उपयोग कैसे करूं? एंड्रॉइड फोन में कष्टप्रद संवाद के बिना मैं वाक् पहचान कैसे उपयोग कर सकता हूं सामग्री AJAX के माध्यम से भरी हुई है के बाद jQuery काम नहीं करता है त्रुटि: फ़ाइल बिन / डीबग / … का उपयोग नहीं कर सकता क्योंकि इसका उपयोग किसी अन्य प्रक्रिया द्वारा किया जा रहा है स्विफ्ट 3.0 में यूआईवीआईयूईई () कंस्ट्रक्टर का क्या हुआ? निंजा 2 + (और मैं अपने मॉड्यूल की व्यवस्था कैसे करूँ) के साथ इंजेक्शन कहाँ करूँ? क्यों नहीं मैं res.json को कॉल इनलाइन कर सकते हैं? कस्टम ऑर्डर द्वारा सरणियों के एक php सरणी को क्रमबद्ध करना नोडजेएस को एक वैश्विक मॉड्यूल / पैकेज की आवश्यकता है PHP – अगर / के लिए, के लिए, foreach, जबकि – घुंघराले ब्रेसिज़ के बिना?

जावास्क्रिप्ट में & and && के बीच अंतर क्या है?

जावास्क्रिप्ट में & and && के बीच अंतर क्या है?

उदाहरण-कोड:

var first = 123; var second = false; var third = 456; var fourth = "abc"; var fifth = true; alert(first & second); // 0 alert(first & third); // 72 alert(first & fourth); // 0 alert(first & fifth); // 1 alert(first && second); // false alert(first && third); // 456 alert(first && fourth); // abc alert(first && fifth); // true 

ऐसा लगता है कि && एक तार्किक है "और" जो मुझे हमेशा दूसरे मान देता है अगर दोनों सत्य हैं

लेकिन क्या है?

(वैसे, && "और" पायथन में है; और लगता है और पायथन में।)

वेब के समाधान से एकत्रित समाधान "जावास्क्रिप्ट में & and && के बीच अंतर क्या है?"

& bitwise और है

इस ऑपरेटर को दो नंबरों की उम्मीद है और एक संख्या को पुनः प्राप्त किया गया है। यदि वे नंबर नहीं हैं, तो उन्हें संख्याओं में डाली जाती है।

यह कैसे काम करता है? विकिपीडिया का एक जवाब है: https://en.wikipedia.org/wiki/Bitwise_operation#AND

नोट: जावास्क्रिप्ट में, इस ऑपरेटर का उपयोग निराश हो गया है, क्योंकि इसमें कोई भी पूर्णांक डेटा प्रकार नहीं है, बस चल बिन्दु है इस प्रकार फ़्लोट्स को हर ऑपरेशन से पहले पूर्णांक में बदल दिया जाता है, जिससे यह धीमा हो जाता है। साथ ही, विशिष्ट वेब अनुप्रयोगों में इसकी कोई वास्तविक उपयोग नहीं है और अपठनीय कोड उत्पन्न करता है।

सामान्य नियम: से बचें इसका उपयोग न करें यह शायद ही कभी एक रखरखाव और पठनीय जेएस कोड में जगह है।

&& तार्किक और है

इसमें दो तर्क और रिटर्न की उम्मीद है:

  • पहला शब्द जो झूठे के लिए मूल्यांकन करता है
  • अन्यथा अंतिम शब्द (यदि सभी सत्य हैं-)

यहाँ कुछ उदाहरण हैं:

 0 && false 0 (both are false-y, but 0 is the first) true && false false (second one is false-y) true && true true (both are true-y) true && 20 20 (both are true-y) 

यह परिभाषा तर्कसंगत और गणित के क्षेत्र से परिभाषित है।

&& ऑपरेटर चेनिंग

इस ऑपरेटर को ऊपर बताए गए कारण ऑपरेटर चेनिंग हैं। आप इस ऑपरेटर को चेन कर सकते हैं और अभी भी उपरोक्त नियमों को रख सकते हैं।

 true && 20 && 0 && 100 0 (it is the first false-y) 10 && 20 && true && 100 100 (last one, since all are true-y) 

&& शॉर्ट-सर्किटिंग

जैसा कि परिभाषा से देखा जा सकता है, जैसे ही आपको लगता है कि एक शब्द झूठी- y है, आपको निम्नलिखित शर्तों की परवाह नहीं करने की आवश्यकता है। जावास्क्रिप्ट भी यह एक पायदान आगे लेता है, शब्द भी मूल्यांकन नहीं कर रहे हैं इसे शॉर्ट सर्किटिंग कहा जाता है

 true && false && alert("I am quiet!") 

यह कथन कुछ भी सतर्क नहीं करता है और false लौटा है इसलिए, आप && if ऑपरेटर को एक if स्टेटमेंट के लिए कम प्रतिस्थापन के रूप में इस्तेमाल कर सकते हैं। ये समान हैं:

 if (user.isLoggedIn()) alert("Hello!") user.isLoggedIn() && alert("Hello!") 

लगभग सभी जेएस कम्प्रेसर 2 बाइट्स को बचाने के लिए इस चाल का उपयोग करते हैं।

& bitwise "और" है इसका मतलब यह है कि यदि आपके पास दो संख्याएं द्विआधारी में कनवर्ट हैं, तो परिणाम एक संख्या है, जिसमें पदों पर 1 अंक है जहां दोनों संख्या 1

  100011 //35 & 111001 //57 --------- 100001 //35 & 57 == 33 

यह निर्धारित करने के लिए कि क्या दो बूलियन मान एक साथ रखे हैं, सही या गलत हैं, अगर आप उन्हें दोनों (जैसे वेब पेज पर सत्यापन) देखना चाहते हैं, तो आप "और" ऑपरेटर का उपयोग कर सकते हैं "और" बिटवर्ड और है

"एंड एंड" ऑपरेटर के साथ, एक बार जब यह पहला मान पाता है, तो वह झूठा है, यह मूल्यांकन समाप्त करेगा और दूसरे मान की जांच नहीं करेगा।