में रिटर्न वैल्यू पर डबल विस्मयादिबोधक मैं एचटीएमएल 5 के लिए एक पुस्तक देख रहा हूं और इसमें जेएस का यह छोटा सा हिस्सा शामिल है। डबल विस्मयादिबोधक का मतलब क्या है?जावास्क्रिप्ट
return ! ! document.createElement('video').canPlayType;
में रिटर्न वैल्यू पर डबल विस्मयादिबोधक मैं एचटीएमएल 5 के लिए एक पुस्तक देख रहा हूं और इसमें जेएस का यह छोटा सा हिस्सा शामिल है। डबल विस्मयादिबोधक का मतलब क्या है?जावास्क्रिप्ट
return ! ! document.createElement('video').canPlayType;
!
ऑपरेटर को नकारता, और माध्यमिक !
inital निषेध का परिणाम नकारता। यह मूल रूप से जो भी बूलियन (सत्य या गलत) में दायीं तरफ है, टाइप करता है।
!false // true
!!false // false
तो अगर विधि तो function
जो truthy है परिभाषित किया गया है, true
में typecasted कर दिया जाएगा।
document.createElement('video').canPlayType
तो उपर्युक्त एक कार्य देता है। हम एक समारोह नहीं चाहते हैं, हम एक स्पष्ट बुलियन चाहते हैं, इसलिए हम इसे दो बार नकारात्मक करते हैं और function
falsy (0, शून्य, झूठी, खाली स्ट्रिंग, NaN) नहीं है, तो यह इस विधि का समर्थन करने वाले ब्राउज़र के लिए सच हो जाता है।
!!document.createElement('video').canPlayType // true
यदि विधि समर्थित नहीं है, तो ब्राउज़र undefined
वापस करेगा। !undefined
सच है, और !true
गलत है, तो !!document.createElement('video').LOL
false
'document.createElement (' video ') नहीं होगा। CanPlayType' एक बुलियन लौटा सकता है? या यह है कि अगर यह 'शून्य' है तो '!! (शून्य) = झूठी'? – hunter
!! (शून्य) == झूठी –
@hunter - document.createElement ('video')। यदि ब्राउज़र वीडियो टैग का समर्थन नहीं करता है तो CanPlayType अपरिभाषित हो जाएगा। –
वापस आ जाएगी डबल विस्मयादिबोधक वापस जाने के लिए सही/इनपुट के झूठे परवाह किए बिना एक जावास्क्रिप्ट चाल है। आपके उदाहरण में, यदि कोई ब्राउज़र वीडियो टैग का समर्थन नहीं करता है, तो यह अनिर्धारित वापस आ जाएगा। अपरिभाषित सत्य है। तो !! अपरिभाषित झूठा है। यदि ब्राउज़र वीडियो का समर्थन करता है, तो यह सच हो जाएगा। !! सच भी सच है। यह आपको अपरिभाषित मामले को संभालने से बचाता है।
इसे प्यार करने के लिए मिला, प्रोग्रामिंग भाषाओं में उपयोगी नकारात्मक नकारात्मक। और मेरे अंग्रेजी शिक्षक ने कभी भी नकारात्मक नकारात्मक का उपयोग नहीं किया। "मैं कुछ भी नहीं करना चाहता।" एक वाक्य बन जाता है जो शायद अब समझ में आता है। :) –
मैं पहले पूछने से पहले स्टैक ओवरफ्लो खोजने का प्रयास कर सकता हूं। http://stackoverflow.com/questions/784929/what-is-the-operator-in-javascript – KooiInc
इसके बारे में खेद है। मैंने "डबल विस्मयादिबोधक बिंदु जावास्क्रिप्ट" के तहत एक खोज की थी कुछ भी नहीं खींच लिया। – steve