¿Cómo puedo obtener la dirección de memoria de una variable de JavaScript?

votos
44

¿Es posible encontrar la dirección de memoria de una variable de JavaScript? El código JavaScript es parte de (incrustado en) una aplicación normal donde JavaScript se usa como interfaz para C ++ y no se ejecuta en el navegador. La implementación de JavaScript utilizada es SpiderMonkey.

Publicado el 12/03/2009 a las 17:53
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
14

Si fuera posible, sería muy dependiente del motor de JavaScript. El motor javascript más moderno compila su código usando un compilador justo a tiempo y jugar con sus variables internas sería malo para el rendimiento o malo para la estabilidad.

Si el motor lo permite, ¿por qué no hacer una interfaz de llamada a la función a algún código nativo para intercambiar los valores de la variable?

Respondida el 12/03/2009 a las 17:59
fuente por usuario

votos
8

Es más o menos imposible - estrategia de evaluación de Javascript es utilizar siempre llamada por valor, pero en el caso de objetos (incluyendo matrices) el valor pasado es una referencia al objeto, que no está copiada o clonada. Si reasigna el propio objeto de la función, el original no se cambiará, pero si se reasigna una de las propiedades del objeto, que afectará al objeto original.

Dicho esto, ¿qué estás tratando de lograr? Si es sólo pasar datos complejas entre C ++ y Javascript, se puede usar una biblioteca JSON para comunicarse. Enviar un objeto JSON en C ++ para el procesamiento, y obtener un objeto JSON para reemplazar el antiguo.

Respondida el 23/04/2013 a las 16:34
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more