Este es mi código:
function test(tlm) { var soundtimer = 'success'; var type = tlm.replace('send',''); var timer = window[type+'timer']; console.log(timer); } test('sendsound'); Debería tener success , pero en su lugar me quedo indefinido. ¿Porqué es eso?
Su variable 'temporizador de sonido' tiene un alcance local para la función de prueba. Moverlo afuera permite que se declare globalmente en la ventana:
var soundtimer = 'success'; function test(tlm) { var type = tlm.replace('send',''); var timer = window[type+'timer']; console.log(timer); } test('sendsound');Puede usar un objeto dentro de su función.
function test(tlm) { var local = { soundtimer:'success' }; var type = tlm.replace('send',''); var timer = local[type+'timer']; console.log(timer); } test('sendsound');