2016-05-25 8 views
-1

私はJavaScriptには新しく、ある関数の一連のデータを生成するコードを作成したいと思っています。たとえば、ユーザーがy = x + 2のようなルールを入力した場合、x1 - 10の場合、yという値を示すテーブルが必要です。javascriptを使用して入出力計算機を作成する方法はありますか?

私はこれを行うことができますか?

+0

'Function'コンストラクタを見てください。 – Barmar

+0

@Barmar:神様、それは必要ありません。 –

+0

@ T.J.Crowder別の方法は、あなた自身の方程式パーサを書くことですね。初心者にはお勧めできません。 'eval'を使うこともできます。これは事実上関数を作ることと同じです。 – Barmar

答えて

0

使用の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

同じブラウザ内の同じページ上でそれを実行していた場合、これはあります。評価式を保存して後で他のユーザーやブラウザセッションのために評価する場合は、セキュリティエクスプロイトを簡単に開くことができます。だから、これをどのように使用するのか慎重にする必要があります。

+0

あなたは* them *のためにユーザーの入力を使用しただけで、他の人は決して使用しない限り。 –

+0

はい、悪用可能なセキュリティリークであるため、ユーザーの入力を格納してから他のユーザーの評価を実行するべきではありません。 –

関連する問題