Pergunta

É possível encontrar o endereço de memória de uma variável JavaScript? O código JavaScript é parte de (encaixada) uma aplicação normal onde JavaScript é usado como uma extremidade dianteira para C ++ e não é executado no navegador. A implementação JavaScript utilizada é SpiderMonkey.

Foi útil?

Solução

Se seria possível em tudo, seria muito dependente do motor de javascript. O motor de JavaScript mais moderno compilar seu código usando um apenas no compilador tempo e mexer com suas variáveis ??internas seria ou ruim para o desempenho, ou ruim para a estabilidade.

Se o motor permite que ele, por que não fazer uma interface chamada de função para algum código nativo para trocar os valores da variável?

Outras dicas

É mais ou menos impossível - estratégia de avaliação do Javascript é usar sempre chamada por valor, mas no caso de objetos (incluindo matrizes) o valor passado é uma referência para o objeto, que não é copiado ou clonado. Se você transferir o próprio objeto na função, o original não será alterado, mas se você um Reassign de propriedades do objeto, que vai afetar o objeto original.

Dito isto, o que você está tentando realizar? Se ele está só de passagem de dados complexas entre C ++ e JavaScript, você poderia usar uma biblioteca JSON para se comunicar. Enviar um objeto JSON para C ++ para processamento, e obter um objeto JSON para substituir o antigo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top