Estoy tratando de establecer 4 bits en un número entero en función de si una casilla de verificación está marcada. Soy nuevo con JavaScript, así que disculpe mi código incorrecto. Busqué cómo establecer bits y encontré la función setBit . Está claro lo que hace, sin embargo, cuando imprimo el resultado n , sigo obteniendo 0. Estoy seguro de que estoy haciendo algo mal, pero no puedo entender qué es.
Cualquier ayuda es bienvenida.
function setBit(number, bitPosition) { return number |= 1 << bitPosition; } function checkCheckbox() { var one = document.getElementById("one"); var two = document.getElementById("two"); var three = document.getElementById("three"); var four = document.getElementById("four"); var n = 0 if (one.checked == true) { setBit(n, 0) } if (two.checked == true) { setBit(n, 1) } if (three.checked == true) { setBit(n, 2) } if (four.checked == true) { setBit(n, 3) } return document.getElementById("out").innerHTML = n; } <h2>Numbers</h2> <br> <p> 1? <input type="checkbox" id="one" value="1"><br> 2? <input type="checkbox" id="two" value="2"><br> 3? <input type="checkbox" id="three" value="3"><br> 4? <input type="checkbox" id="four" value="4"> </p> <br> <br> <button onclick="checkCheckbox()">Submit</button> <br> <h3 style="color:green" id="out"></h3>