#ブラウザ上でJavaScriptを動的に実行する
####Q.ブラウザ上でtextboxなどに入力された値をJavaScriptとして実行するにはどのようなアルゴリズムを考えますか?
いろんなアルゴリズムが考えられると思います。
今回は入力された文字列をFunctionコンストラクタを用いて、関数化する方法をまとめます。
##Function コンストラクタとは
Functionコンストラクタは関数オブジェクトを生成します。
このコンストラクタは引数に入力された文字列を関数オブジェクトとして生成します。
これを用いて、JavaScriptを動的に実行しようと思います。
Function.js
var data = "alert('Hello World');";
var funs = new Function(data)();
dataには実行したいプログラムを入力します。 (今回は入力部分は省略)
そのdataの文字列をFunctionの引数に入力すると、無名関数が生成されます。
console.log(funs);
ƒ anonymous() {
alert('Hello World')
}
これを即時的に実行することにより、textboxなどに入力されたJavaScriptを動的に実行することができます。
みなさんの
###Q.ブラウザ上でtextboxなどに入力された値をJavaScriptとして実行するにはどのようなアルゴリズムを考えますか?
のAnswerをコメントで教えてください。