:
var thetop = 'top';
<something>.stop().animate(
{ thetop : 10 }, 10
);
Traducción:
var thetop = 'top';
var config = { thetop : 10 }; // config.thetop = 10
<something>.stop().animate(config, 10);
Como se puede ver, la declaración { thetop : 10 }
no hace uso de la variable thetop
. En su lugar, crea un objeto con una clave llamada thetop
.Si desea que la clave sea el valor de la variable thetop
, entonces usted tendrá que usar corchetes thetop
:
var thetop = 'top';
var config = { [thetop] : 10 }; // config.top = 10
<something>.stop().animate(config, 10);
La sintaxis de corchetes se ha introducido con ES6. En versiones anteriores de JavaScript, que tendría que hacer lo siguiente:
var thetop = 'top';
var config = (
obj = {},
obj['' + thetop] = 10,
obj
); // config.top = 10
<something>.stop().animate(config, 10);
vea también: [crear objetos utilizando las variables de nombre de la propiedad] (http://stackoverflow.com/q/3153969/1048572) – Bergi
consulta : [creación de objetos con teclas dinámicas] (http://stackoverflow.com/q/19837916/1048572) – Bergi