Pregunta

Estoy tratando de crear una pequeña biblioteca que pueda enviar un objeto (que tenga funciones) y algunos datos, y args, y enviará el objeto, los datos y los args a un proceso de trabajadores que luego evaluará el objeto para reconstruir el funciones (de cuerdas a funciones)

Actualmente tengo esto:

JSON.stringify(object, function(key, val) { if typeof val === 'function' { return val + '' } return val });

Esta función triunfará un objeto que incluye funciones.

En mi trabajador estoy tratando de deshacer este proceso.

He probado lo siguiente:eval(object)También he intentado implementar JSON.Parse con el intento de evaluar () cada función cuando me encuentro con una.

Yo también lo he intentado eval("return " + object.function)

es posible?

¿Fue útil?

Solución

Probablemente quieras:

eval("(" + object.function + ")");

No puede poner una declaración de regreso en algún lugar.

function() {} se evalúa en función declaración, que falla porque no tiene nombre. Dado que los datos a analizar representan una función expresión, me gusta var f = function() {}, necesitas poner () A su alrededor, para que se evalúe como una expresión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top