Czy te dwie funkcje robią to samo za kulisami? (w funkcjach pojedynczych instrukcji) var evaluate = function(string) { return eval('(' + string + ')'); } var func = function(string) { return (new Function( 'return (' + string + ')' )()); } console.log(evaluate('2 + 1')); console.log(func('2 + 1'));
Zaczynam czytać wzorce JavaScript , niektóre kody mnie zmyliły. var global = (function () { return this || (1, eval)('this'); }()); Oto moje pytania: P1: (1, eval) === eval? Dlaczego i jak to działa? P2: Dlaczego nie po prostu var global = (function () { return this || eval('this'); }()); …
Przez te wszystkie lata, kiedy rozwijałem się w PHP, zawsze słyszałem, że używanie eval()jest złe. Biorąc pod uwagę poniższy kod, czy nie miałoby sensu użycie drugiej (i bardziej eleganckiej) opcji? Jeśli nie, dlaczego? // $type is the result of an SQL statement // e.g. SHOW COLUMNS FROM a_table LIKE 'a_column'; …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.