2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ブラウザで実行できるJavaScriptコンソールを作ろう!

Last updated at Posted at 2018-12-20

#ブラウザ上で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をコメントで教えてください。

2
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?