[解決済み] なぜJavaScriptのeval関数を使うとダメなのか?
2022-03-18 05:08:48
質問
eval関数は、強力かつ簡単にコードを動的に生成する方法ですが、その注意点は何でしょうか?
どのように解決するのですか?
-
の不適切な使用 評価 は インジェクション攻撃
-
デバッギング より困難である可能性があります (行番号がないなど)
-
評価されたコードの実行速度が遅くなる(評価されたコードをコンパイルしたりキャッシュしたりする機会がない)
Edit: @Jeff Waldenがコメントで指摘しているように、#3は2008年当時と比べ、現在ではあまり当てはまりません。しかし、コンパイルされたスクリプトのキャッシュは起こるかもしれませんが、それは何も変更せずに繰り返し評価されるスクリプトに限られるでしょう。より可能性の高いシナリオは、毎回わずかな変更が加えられているスクリプトを評価する場合であり、そのような場合はキャッシュされない可能性があります。このような場合、一部の評価済みコードは実行速度が遅くなると考えてください。
関連
-
Vueはランニングライト形式のテキストを水平方向にスクロールする機能を実装している
-
vueの補間表現とv-textディレクティブの違いについて
-
[解決済み] Error : 未定義のプロパティ 'map' を読み取ることができません。
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み】JavaScript版sleep()とは?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vue+webrtc(Tencent cloud)ライブ機能の実践を実現するために
-
vueにおけるv-forループオブジェクトのプロパティ
-
vueにおけるfilterの適用シーンについて解説します。
-
[解決済み】ERROR エラーです。スイッチのname属性が指定されていないフォームコントロールの値アクセッサがない
-
[解決済み] JavaScriptで文字列をbooleanに変換するにはどうしたらいいですか?
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み] 変数を使用してオブジェクトのプロパティに動的にアクセスする
-
[解決済み] 関数内で変数を変更した後、変数が変更されないのはなぜですか?- 非同期コードリファレンス
-
[解決済み] JSON.stringifyの逆バージョン?
-
[解決済み】Uncaught SyntaxError: JSON.parse で予期しないトークンが発生した。