teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

オブジェクトのプロパティ

2016/09/20 12:08

投稿

think49
think49

スコア18194

answer CHANGED
@@ -1,3 +1,5 @@
1
+ ### Function()
2
+
1
3
  それがグローバル関数であれば、`Function()` を利用することで実装可能です。
2
4
 
3
5
  ```JavaScript
@@ -6,9 +8,24 @@
6
8
  }
7
9
  ```
8
10
 
11
+ ### eval()
12
+
9
13
  グローバル関数でなければ、`eval` で実行可能ですが、原則として `eval` は使わない方が良いと思います。
10
14
  理由は下記スレッドで回答しました。
11
15
 
12
16
  - [JavaScript - eval(47779)|teratail](https://teratail.com/questions/47779)
13
17
 
18
+ ### オブジェクトのプロパティ
19
+
20
+ 関数名に変数を利用したい場合はオブジェクトのプロパティに関数を代入する方法が安全です。
21
+
22
+ ```JavaScript
23
+ (function () {
24
+ var obj = {hoge: function (string) { console.log(string); }},
25
+ name = 'hoge';
26
+
27
+ obj[name]('foo'); // "foo"
28
+ }());
29
+ ```
30
+
14
31
  Re: yuuhi さん