0

私はこの小さな例を持っています:

var myoperation = "2+2";
var myoperation2="2*5/3";
var myoperation3="3+(4/2)"

とにかくこれを実行して結果を得る方法はありますか?

よろしくお願いします!

4

6 に答える 6

3

機能を使用できますeval()。例:eval("2+2")

于 2013-05-19T13:24:04.017 に答える
2

evalMDNを使用: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/eval

悪だと言う人もいますが、まさにこの目的のために設計されました。

console.log(eval(myoperation)); // 4
console.log(eval(myoperation2)); // 3.33
console.log(eval(myoperation3)); // 5
于 2013-05-19T13:24:22.337 に答える
1

あなたはこれ以外にもこれを行うことができますeval:

function run(myoperation) {
    return new Function('return ' + myoperation + ';').call();
}

run('2+2'); // return 4
于 2013-05-19T13:28:43.573 に答える
1

これに使えますeval

ここに画像の説明を入力

eval検証する前に、リモート サーバーから にデータを渡さないでください。でダメージを与えることができますeval

于 2013-05-19T13:26:59.853 に答える
0

文字列を eval() 関数に渡します。

于 2013-05-19T13:25:23.767 に答える
0

関数を使用できます

var result = new Function("return " + "2+2")();
于 2013-05-19T13:27:13.170 に答える