validacion recorrer objetos objeto lista incluir formularios ejemplos crear convertir con array agregar javascript

javascript - recorrer - ¿Puedes hacer un objeto ''llamable''?



recorrer objeto json javascript (2)

¿Es posible hacer que un objeto se pueda call implementando una call o una apply en él, o de alguna otra manera? P.ej:

var obj = {}; obj.call = function (context, arg1, arg2, ...) { ... }; ... obj (a, b);


No, pero puede agregar propiedades a una función, por ejemplo,

function foo(){} foo.myProperty = "whatever";

EDITAR: para "hacer" que un objeto se pueda llamar, todavía tendrá que hacer lo anterior, pero podría verse algo como:

// Augments func with object''s properties function makeCallable(object, func){ for(var prop in object){ if(object.hasOwnProperty(prop){ func[prop] = object[prop]; } } }

Y luego solo usarías la función "func" en lugar del objeto. Realmente todo lo que hace este método es copiar propiedades entre dos objetos, pero ... podría ayudarlo.


ES6 tiene mejor solución para esto ahora. Si crea sus objetos de una manera diferente (usando la class , extend de ''Función''), puede tener una instancia llamable.

Ver también: ¿Cómo extender la función con las clases de ES6?