eval() を使用しない JavaScript での文字列値の計算
問題:
多くの JavaScript 開発者は eval を使用しています() 文字列に格納された数式を計算する関数。ただし、 eval() は任意のコードを実行できるため、安全ではありません。安全な代替手段はありますか?
答え:
はい、Function() コンストラクターを使用して、次の文字列を安全に評価できます。式。
コード:
function evil(fn) { return new Function('return ' + fn)(); } console.log(evil('12/5*9+9.4*2')); // => 40.4
説明:
Function() コンストラクターは引数として文字列を取ります。そして関数を返します。 'return' キーワードが文字列の先頭に追加され、関数が数式の結果として評価されるようになります。
利点:
以上が「eval()」を使用せずにJavaScriptで文字列式を安全に評価する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。