¿Cuál es la diferencia entre el parámetro con comillas y el parámetro sin comillas en los literales de plantilla en JavaScript?
¿Por qué cuando pongo cita >> ('${clave}') hace la función >> diversión('${clave}') mientras que cuando elimino cita >> (${clave}) no hace la función >> fun(${key}) qué diferencia hay entre el parámetro con comillas y el parámetro sin comillas en Plantillas literales con JavaScript
for ( let key in states) { console.log(key); var n =states[key].name; var cur = states[key].currency; console.log() con.innerHTML += `<div> <span>name : " ${n} " </span> <br> <span>cur : " ${cur} " </span> </div><br> <span>cur : " ${key} " </span> <button onclick= fun('${key}')> select </button><hr> ` } function fun(o) { alert(states[o].name); alert(states[o].currency); }el código anterior ejecuta la función >> fun('${key}')
for (let key in states) { console.log(key); var n = states[key].name; var cur = states[key].currency; console.log() con.innerHTML += `<div> <span>name : " ${n} " </span> <br> <span>cur : " ${cur} " </span> </div><br> <span>cur : " ${key} " </span> <button onclick= fun(${key})> select </button><hr> ` } function fun(o) { alert(states[o].name); alert(states[o].currency); }Simplemente agrega ' en la cadena final.
La razón por la que esto funciona en su ejemplo, pero cuando los omite no es porque lo está usando para generar código js dentro de un controlador HTML .
Sus claves son cadenas, por lo que en js deben encerrarse entre ' o " . Cuando las omite, se tratan como variables y lo más probable es que no tenga variables (o constantes) con ese (s) nombre (s).