Domanda

È possibile trovare l'indirizzo di memoria di una variabile JavaScript? Il codice JavaScript fa parte di (incorporata) in una normale applicazione in cui JavaScript viene utilizzato come front-end per C ++ e non viene eseguito sul browser. L'implementazione JavaScript utilizzata è SpiderMonkey.

È stato utile?

Soluzione

Se fosse possibile, dipenderebbe molto dal motore javascript. Il più moderno motore javascript compila il proprio codice usando un compilatore just in time e si scherza con le loro variabili interne sarebbe dannoso per le prestazioni o cattivo per la stabilità.

Se il motore lo consente, perché non creare un'interfaccia di chiamata di funzione a un codice nativo per scambiare i valori della variabile?

Altri suggerimenti

È più o meno impossibile - la strategia di valutazione di Javascript è sempre quella di usare call per value, ma nel caso di Oggetti (compresi gli array) il valore passato è un riferimento all'Oggetto, che non viene copiato o clonato. Se riassegni l'oggetto stesso nella funzione, l'originale non verrà modificato, ma se riassegni una delle proprietà dell'oggetto, ciò influirà sull'oggetto originale.

Detto questo, cosa stai cercando di realizzare? Se sta semplicemente passando dati complessi tra C ++ e Javascript, è possibile utilizzare una libreria JSON per comunicare. Invia un oggetto JSON a C ++ per l'elaborazione e ottieni un oggetto JSON per sostituire quello vecchio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top