2011-04-03 12 views
20

यह क्या है: >> जावास्क्रिप्ट में मतलब है?जावास्क्रिप्ट में प्रतीक से अधिक डबल

इस संदर्भ में देखा:

document.onkeydown = document.onkeyup = function(e,v,y,k) { 
    (i=e.keyCode-37)>>2 || (keys[i] = e.type[5]&&1||(0)) 
} 
+0

कोई व्यक्ति व्याख्यान? – bcm

+0

मैं जो भी कोड की उस पंक्ति को लिखा था उसे आग लगाना होगा। – TrungDQ

उत्तर

17

Javascript Bitwise Operators

वाम शिफ्ट एक < < ख द्विआधारी प्रतिनिधित्व ख में एक पाली (< 32) बाईं ओर बिट्स, से शून्य में स्थानांतरण सही।

साइन-प्रचार सही पारी एक >> ख सही करने के लिए ख (< 32) बिट्स द्विआधारी प्रतिनिधित्व में एक परिवर्तन, त्यागकर बिट्स बंद स्थानांतरित कर दिया।

21

>>bitwise right shift operator है।

उदाहरण के लिए: 4 >> 1 के बराबर होती है 2 क्योंकि 4 द्विआधारी संकेतन, जो सही करने के लिए एक सा स्थानांतरित कर दिया है में 100 है, हमें 10 = 2

+0

बाइनरी नोटेशन रूपांतरण प्राप्त करके, इस संदर्भ में, और फिर bitwise दाएं शिफ्ट ऑपरेटर का उपयोग करके महत्व क्या है? – bcm

+0

मुझे इसके लिए कोई कारण नहीं दिख रहा है। वे इसे (i = e.keyCode-37)/4 के रूप में लिख सकते थे, क्योंकि दो बिट्स को सही स्थानांतरित करना अनिवार्य रूप से चार से विभाजित होता है। –

0

दे रही है यह बिटवाइस पारी ऑपरेटर (here देखें) है।

अब, यह ठीक है कि यह क्या कर रहा है, मुझे यकीन नहीं है ... मुझे यकीन है कि हमारे कुछ बड़े दिमाग वाले ब्रैथरेन जो वास्तव में कॉलेज समाप्त कर चुके हैं, इससे हमें मदद मिल सकती है। ; ^)

2
(i=e.keyCode-37)>>2 

इस कोड) मैं के दो कम से कम महत्वपूर्ण बिट (4 से विभाजित करने के लिए इसी को त्यागकर जाता है, और शून्य करने के लिए परिणाम की तुलना। यह तब गलत होगा जब दबाया गया कुंजी 37-40 (तीर कुंजी) है, और अन्यथा सच है।

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