Zoeken…


Invoering

In JavaScript evalueert de eval functie een tekenreeks alsof het JavaScript-code is. De retourwaarde is het resultaat van de geëvalueerde tekenreeks, bijv. eval('2 + 2') retourneert 4 .

eval is beschikbaar in de wereldwijde scope. Het lexicale bereik van de evaluatie is het lokale bereik, tenzij indirect aangeroepen (bijvoorbeeld var geval = eval; geval(s); ).

Het gebruik van eval wordt sterk afgeraden. Zie het gedeelte Opmerkingen voor meer informatie.

Syntaxis

  • eval (tekenreeks);

parameters

Parameter Details
draad Het te evalueren JavaScript.

Opmerkingen

Het gebruik van eval wordt sterk afgeraden; in veel scenario's vormt het een beveiligingsprobleem.

eval () is een gevaarlijke functie, die de code uitvoert met de rechten van de beller. Als u eval () uitvoert met een tekenreeks die kan worden beïnvloed door een kwaadwillende partij, kunt u schadelijke code uitvoeren op de computer van de gebruiker met de machtigingen van uw webpagina / extensie. Wat nog belangrijker is, de code van derden kan de reikwijdte zien waarin eval () is aangeroepen, wat kan leiden tot mogelijke aanvallen op manieren waarop de vergelijkbare functie niet vatbaar is.

MDN JavaScript Reference

Bovendien:

Invoering

U kunt JavaScript altijd van binnenuit uitvoeren, hoewel dit ten zeerste wordt afgeraden vanwege de beveiligingsproblemen die het met zich meebrengt (zie Opmerkingen voor meer informatie).

Gebruik de onderstaande functie om JavaScript vanuit JavaScript te starten:

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

Evaluatie en wiskunde

U kunt een variabele instellen op iets met de functie eval() door iets te gebruiken dat lijkt op de onderstaande code:

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;

Het resultaat, opgeslagen in de variabele res , is:

200
4
27

Het gebruik van eval wordt sterk afgeraden. Zie het gedeelte Opmerkingen voor meer informatie.

Evalueer een reeks JavaScript-instructies

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

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

Het gebruik van eval wordt sterk afgeraden. Zie het gedeelte Opmerkingen voor meer informatie.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow