Ricerca…


introduzione

In JavaScript, la funzione eval valuta una stringa come se fosse codice JavaScript. Il valore restituito è il risultato della stringa valutata, ad es. eval('2 + 2') restituisce 4 .

eval è disponibile nell'ambito globale. L'ambito lessicale della valutazione è lo scope locale a meno che non sia invocato indirettamente (ad es. var geval = eval; geval(s); ).

L'uso di eval è fortemente scoraggiato. Vedere la sezione Note per i dettagli.

Sintassi

  • eval (stringa);

Parametri

Parametro Dettagli
stringa Il codice JavaScript da valutare.

Osservazioni

L'uso di eval è fortemente scoraggiato; in molti scenari presenta una vulnerabilità di sicurezza.

eval () è una funzione pericolosa, che esegue il codice passato con i privilegi del chiamante. Se esegui eval () con una stringa che potrebbe essere interessata da una parte malintenzionata, potresti finire con l'esecuzione di codice dannoso sul computer dell'utente con le autorizzazioni della tua pagina web / estensione. Ancora più importante, il codice di terze parti può vedere lo scopo in cui è stato invocato eval (), che può portare a possibili attacchi in modi in cui la funzione simile non è suscettibile.

Riferimento JavaScript MDN

Inoltre:

introduzione

È sempre possibile eseguire JavaScript da dentro se stesso, sebbene ciò sia fortemente sconsigliato a causa delle vulnerabilità di sicurezza che presenta (vedere Note per i dettagli).

Per eseguire JavaScript da JavaScript, usa semplicemente la funzione seguente:

eval("var a = 'Hello, World!'");

Valutazione e matematica

È possibile impostare una variabile su qualcosa con la eval() utilizzando qualcosa di simile al seguente codice:

var x = 10;
var y = 20;
var a = eval("x * y") + "<br>";
var b = eval("2 + 2") + "<br>";
var c = eval("x + 17") + "<br>";

var res = a + b + c;

Il risultato, memorizzato nella variabile res , sarà:

200
4
27

L'uso di eval è fortemente scoraggiato. Vedere la sezione Note per i dettagli.

Valuta una stringa di istruzioni JavaScript

var x = 5;
var str = "if (x == 5) {console.log('z is 42'); z = 42;} else z = 0; ";

console.log("z is ", eval(str));

L'uso di eval è fortemente scoraggiato. Vedere la sezione Note per i dettagli.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow