Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

162
Vistas
Pasar la variable a la función que se definirá

EDICIÓN 2: ¿Por qué esta pregunta tan específica se marcó como un duplicado de esta muy conceptual: ¿Cuál es la diferencia entre pasar por referencia y pasar por valor? . Si alguien más tuviera la misma pregunta que yo, no terminaría con esta en Google buscándola e, incluso si la tuviera, no respondería a su pregunta.

EDITAR: Gracias a todos por su ayuda hasta ahora. Cosas bastante difíciles de entender desde mi punto de vista. La razón por la que hago esto es porque configuré una función a la que llamo varias veces y en la que defino una variable (una única con cada llamada). Necesito poder referirme a cada variable única después. Aquí está mi código de intento real a continuación. ¿Cuál sería la forma correcta de hacer esto?

 let newSeq1 let newSeq2 function sequenceClip(sample, length, sequenceVariable) { let currentPosition = Tone.Transport.position let whenToStart if (currentPosition === '0:0:0') { whenToStart = '0:0:0' } else { const barToStartOn = +currentPosition.slice(0, currentPosition.indexOf(':')) whenToStart = `${barToStartOn + 1}:0:0` } sequenceVariable = new Tone.Sequence((time, note) => { sampler.triggerAttackRelease(note, '4m', time) }, [sample], length).start(whenToStart); } loop1.addEventListener('mousedown', () => { sequenceClip("C3", '1m', newSeq1) }) loop2.addEventListener('mousedown', () => { sequenceClip("C#3", '4m', newSeq2) })

¿Cómo paso una variable a una función en Javascript para que se le asigne un valor? P.ej:

¿Por qué a la variable no se le asigna el valor 5? ¿Y cuál es la forma de evitar esto?

 let a function defineVariable(var2beDefined) { var2beDefined = 5 } defineVariable(a) console.log(a === 5)

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Reasignar un identificador, por sí solo, nunca tiene efectos secundarios (en la mayoría de las circunstancias): el único cambio resultante de someIdentifier = someNewValue será cuando otras partes del código hagan referencia a ese mismo someIdentifier .

Si desea pasar algo para que se le asigne, pase una función que, cuando se llame, se asigne a la variable externa.

 let a; function defineVariable(callback) { callback(5); } defineVariable(newVal => a = newVal); console.log(a === 5)

La única vez que la asignación a un identificador tendrá efectos secundarios es si:

  • Dentro de una función con una lista de argumentos simple, reasigna uno de los parámetros (en cuyo caso, el objeto de arguments también se cambiará)
  • Está utilizando módulos ES6 y reasigna un identificador que se está exportando, en cuyo caso otros módulos que lo importen también verán el cambio.
about 4 years ago · Juan Pablo Isaza Denunciar

0

Por lo general, escribiría una función de inicialización que devuelva un valor y asignaría ese valor de retorno a la variable global relevante. Por ejemplo:

 let newSeq1 let newSeq2 function sequenceClip(sample, length, sequenceVariable) { let currentPosition = Tone.Transport.position let whenToStart if (currentPosition === '0:0:0') { whenToStart = '0:0:0' } else { const barToStartOn = +currentPosition.slice(0, currentPosition.indexOf(':')) whenToStart = `${barToStartOn + 1}:0:0` } return new Tone.Sequence((time, note) => { sampler.triggerAttackRelease(note, '4m', time) }, [sample], length).start(whenToStart); } loop1.addEventListener('mousedown', () => { newSeq1 = sequenceClip("C3", '1m') }) loop2.addEventListener('mousedown', () => { newSeq2 = sequenceClip("C#3", '4m') })

Tenga en cuenta que tanto newSeq1 como newSeq2 no estarán definidos hasta los primeros eventos mousedown/mouseup.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda