Co to jest funkcja ocena w JavaScript

Co to jest funkcja ocena w JavaScript
Co robisz, gdy masz wyrażenie lub stwierdzenie i chcesz to ocenić? eval () Funkcja jest w stanie ułatwić Ci. W JavaScript używamy eval () funkcja do oceny, a także oceny wyrażenia lub stwierdzenia. Jest o wiele więcej. Przejdźmy przez wszystko, o czym musimy wiedzieć eval ().

Jaka jest funkcja eval ()?

Za każdym razem, gdy walczysz z JavaScript i dojdziesz do punktu, w którym chcesz ocenić wyrażenie, eval () Funkcja jest dostępna. Jest to w rzeczywistości globalna funkcja JavaScript, której używamy do oceny wyznaczonego ciągu jako kodu JavaScript, a następnie wykonania go lub wykonania pożądanej operacji.

Dodatkowo eval () Funkcja działa inaczej w różnych scenariuszach. Aby argument został oceniony, jeśli jest to wyrażenie, eval () funkcja bierze to jako wyrażenie, a następnie ocenia.

W przypadku argumentu jako stwierdzenia JavaScript, eval () Funkcja zajmie się tym jako instrukcją, a następnie wykonuje ją.

Wskazówka: eval () Funkcja nie wykonuje operacji arytmetycznej, ponieważ operacja ta jest przeprowadzana przez JavaScript automatycznie.

Składnia dla funkcji oceny

Oto składnia dla funkcji eval:

eval (ciąg)

Ewacja jest funkcją, podczas gdy wartość wewnętrzna jest znana jako parametr. Jak widać, ciąg jest parametrem. W zależności od charakteru programu ciąg może być wyrażeniem JavaScript, sekwencją stwierdzeń, a nawet pojedynczego stwierdzenia.

Warunek wartości zwracania

Dla eval () funkcja do wykonywania i pobierania wyników, musimy umieścić niektóre wartości w funkcji. W przypadku pustej wartości zwróci to niezdefiniowane.

Przykłady funkcji oceny

Wypróbujmy kilka przykładów, aby zademonstrować i zrozumieć prawdziwe działanie eval () funkcjonować.

Przykład 1
Podajemy dwa przykłady w tym zakresie i zobaczmy, czy możesz ocenić właściwą odpowiedź:

a = eval (nowy ciąg ('5+5'));
B = eval („5+5”);
konsola.log (a);
konsola.log (b);

Co myślisz? Jakie będzie wyjście dla A i B

Porozmawiajmy najpierw o poprzednim przykładzie. W takim przypadku załóżmy, że określiliśmy konstruktor ciągu, eval () Funkcja zwróci obiekt ciągu. Nie wykona działania łańcucha.

Stąd wyjście dla A będzie obiektem łańcucha, który będzie zawierał „5 + 5”, Nie odpowiedź na tę arytmetyczną operację.

Teraz przejdźmy do zmiennej B, w argumencie eval () funkcja, nie widzimy żadnego ciągu w środku. Dlatego też eval () funkcja oceni wyrażenie, a odpowiedź wyniesie 10 po oceny.

Wyjście

Przykład 2
W tym przykładzie postaramy się przekazać zmienne do eval () funkcjonuj i zobacz, co się stanie:

var f = 6, g = 7, h = 8, suma, mul, sub;
sum = eval („f + g + h”);
mul = eval („f * g * h”);
sub = eval („f - g”);
konsola.log (suma);
konsola.log (MUL);
konsola.log (sub);

W powyższym kodzie wyraźnie zainicjowaliśmy zmienne f, g, I H z wartościami. Następnie przeprowadziliśmy podstawowe operacje arytmetyczne w celu oceny funkcjonalności eval () funkcjonować. Tak właśnie eval () Funkcja zachowuje się w przypadku bez łańcucha. Ocenia wyrażenie umieszczone w środku.

Wynik będzie

Wynik

Przykład 3
Spróbujmy umieścić coś bardziej złożonego, takiego jak wywołanie funkcji i przypisanie tego wywołania funkcji do zmiennej:

Test var;
funkcja FUNC1 (M, N)

powrót m * n;

eval („test = func1 (30, 20);”);
konsola.log (test);

Jak zamierzasz ocenić wynik? To proste. Oto jak:

Najpierw zadeklarowaliśmy test zmienny. Następnie wprowadzamy funkcję jako „Func1”, Który składa się z dwóch argumentów„M" I "N". Wartością zwracaną tej funkcji będzie mnożeniem tych dwóch parametrów „”M" I "N".

Wynik będzie przechowywany w zmiennej testowej, a funkcja zostanie wywołana przez eval () funkcjonować.

Stąd wyjście będzie

Ograniczenia

  • Jest to uważane za niepewne
  • Powolny
  • Kod staje się nieczytelny podczas radzenia sobie z tym

Wniosek

W tym temacie osiągnęliśmy dobry poziom zrozumienia eval () funkcja, funkcjonalność eval () funkcja, a także jej zachowania w określonych warunkach.

Następnie nasz artykuł od opisu funkcji eval (), stwierdzając składnię, ograniczenia i przykłady, omówiliśmy każdy aspekt funkcji eval ( możliwy sposób.