Necesito agregar el paso de parámetros a este código, pero no sé cómo, probé algunas cosas diferentes, pero simplemente rompía el código cada vez.

Puede obtener los argumentos del atributo de destino del evento, algo como esto:
const button = document.querySelector('button'); button.addEventListener('click', calc, false); button.randomParam = 'just a random parameter'; function calc(e) { window.alert(e.currentTarget.randomParam); } <button class="input">click me</button>Si necesita pasar parámetros a su función de calc , simplemente puede crear una función anónima a partir del evento de clic, agregar un código para recopilar sus parámetros para pasarlos y luego llamar a la función de calc de la siguiente manera:
document.getElementById("currencybtn").addEventListener('click', function () { let myParameter = 10; calc(myParameter); }); Y luego, en su función de calc , puede nombrar ese parámetro como desee. No tiene que llamarse myParameter porque su función calc utilizará la primera variable que le pase con la primera variable que coloque entre paréntesis cuando llame a su función calc :
function calc(param1) { //param1 is myParameter from above //JavaScript pulls in variables based on the order they are received return param1 + 3; }