私はJavaScriptには新しく、ある関数の一連のデータを生成するコードを作成したいと思っています。たとえば、ユーザーがy = x + 2
のようなルールを入力した場合、x
が1
- 10
の場合、y
という値を示すテーブルが必要です。javascriptを使用して入出力計算機を作成する方法はありますか?
私はこれを行うことができますか?
私はJavaScriptには新しく、ある関数の一連のデータを生成するコードを作成したいと思っています。たとえば、ユーザーがy = x + 2
のようなルールを入力した場合、x
が1
- 10
の場合、y
という値を示すテーブルが必要です。javascriptを使用して入出力計算機を作成する方法はありますか?
私はこれを行うことができますか?
使用のeval:http://www.w3schools.com/jsref/jsref_eval.asp
// Remove variable "y = " to get just the expression
var userExpression = str.replace(/y\s*=\s*/i, document.getElementById('textbox_id').value);
for (var i = 1; i < 11; i++) {
var x = i;
var y = eval(userExpression);
console.log("x: " + x + "\t y: " + y);
}
EDIT
同じブラウザ内の同じページ上でそれを実行していた場合、これはあります。評価式を保存して後で他のユーザーやブラウザセッションのために評価する場合は、セキュリティエクスプロイトを簡単に開くことができます。だから、これをどのように使用するのか慎重にする必要があります。
あなたは* them *のためにユーザーの入力を使用しただけで、他の人は決して使用しない限り。 –
はい、悪用可能なセキュリティリークであるため、ユーザーの入力を格納してから他のユーザーの評価を実行するべきではありません。 –
'Function'コンストラクタを見てください。 – Barmar
@Barmar:神様、それは必要ありません。 –
@ T.J.Crowder別の方法は、あなた自身の方程式パーサを書くことですね。初心者にはお勧めできません。 'eval'を使うこともできます。これは事実上関数を作ることと同じです。 – Barmar