Estoy llamando a una función como esta:
myfunc($tab, {'top-left', 'bottom-left'}, defaults.tabRounded);
La definición de la función es:
function myfunc(obj, properties, value) {
Sin embargo, aparece el error "Inicializador de objeto no válido". ¿Es esto por el argumento json? ¿O algo mas?
4 respuestas
Reemplazar
myfunc($tab, {'top-left', 'bottom-left'}, defaults.tabRounded);
Con
myfunc($tab, ['top-left', 'bottom-left'], defaults.tabRounded);
{'top-left', 'bottom-left'}
no es un objeto, pero {'top-left': 0, 'bottom-left': 10}
es un objeto. Supuse que podría haber querido una matriz en lugar de un objeto.
Los objetos de JavaScript son pares clave / valor:
{
'top-left': 333,
'bottom-left': 444
}
https://developer.mozilla.org/en/JavaScript/Guide/Working_with_Objects#Using_Object_Initializers
Probablemente quiera pasar la matriz, no oponerse a la función:
myfunc($tab, ['top-left', 'bottom-left'], defaults.tabRounded);
De lo contrario, si desea pasar un objeto, debe especificar valores para las claves. Algo como:
myfunc($tab, {'top-left': 100, 'bottom-left': 100}, defaults.tabRounded);
Debe nombrar las propiedades como {x: 'foo', y: 'bar'}, ya que estos siempre son pares clave-valor.
Preguntas relacionadas
Nuevas preguntas
javascript
Para preguntas sobre la programación en ECMAScript (JavaScript / JS) y sus diversos dialectos / implementaciones (excepto ActionScript). Incluya todas las etiquetas relevantes en su pregunta; por ejemplo, [node.js], [jquery], [json], etc.