Szukaj…
Wprowadzenie
W JavaScript funkcja eval
ocenia ciąg znaków tak, jakby był kodem JavaScript. Zwracana wartość jest wynikiem obliczonego ciągu, np. eval('2 + 2')
zwraca 4
.
eval
jest dostępny w zasięgu globalnym. Zakres leksykalny oceny jest zasięgiem lokalnym, chyba że jest wywoływany pośrednio (np. var geval = eval; geval(s);
).
Korzystanie z eval
jest zdecydowanie odradzane. Szczegółowe informacje zawiera sekcja Uwagi.
Składnia
- eval (ciąg);
Parametry
Parametr | Detale |
---|---|
strunowy | JavaScript do oceny. |
Uwagi
Używanie eval
jest zdecydowanie odradzane; w wielu scenariuszach stanowi lukę w zabezpieczeniach.
eval () to niebezpieczna funkcja, która wykonuje przekazany kod z uprawnieniami osoby wywołującej. Jeśli uruchomisz eval () z ciągiem, na który złośliwy podmiot może mieć wpływ, możesz skończyć z uruchomieniem złośliwego kodu na komputerze użytkownika z uprawnieniami strony / rozszerzenia. Co ważniejsze, kod innej firmy może zobaczyć zakres, w którym wywołano funkcję eval (), co może prowadzić do możliwych ataków w sposób, na który podobna funkcja nie jest podatna.
Do tego:
Wprowadzenie
Zawsze możesz uruchamiać JavaScript od wewnątrz, chociaż jest to zdecydowanie odradzane ze względu na występujące w nim luki w zabezpieczeniach (szczegółowe informacje znajdują się w uwagach).
Aby uruchomić JavaScript z poziomu JavaScript, wystarczy użyć poniższej funkcji:
eval("var a = 'Hello, World!'");
Ocena i matematyka
Możesz ustawić zmienną na coś za pomocą funkcji eval()
, używając czegoś podobnego do poniższego kodu:
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;
Wynik zapisany w zmiennej res
będzie:
200
4
27
Korzystanie z eval
jest zdecydowanie odradzane. Szczegółowe informacje zawiera sekcja Uwagi.
Oceń ciąg instrukcji 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));
Korzystanie z eval
jest zdecydowanie odradzane. Szczegółowe informacje zawiera sekcja Uwagi.