回答編集履歴

1

追記

2016/09/20 12:30

投稿

yambejp
yambejp

スコア114892

test CHANGED
@@ -31,3 +31,51 @@
31
31
 
32
32
 
33
33
  ```
34
+
35
+
36
+
37
+ # 追記
38
+
39
+ リストにあるものだけ実行する
40
+
41
+
42
+
43
+ ```ここに言語を入力
44
+
45
+ function registerFunction(name,response){
46
+
47
+ var mylist={"aaa":aaa,"bbb":bbb};
48
+
49
+ if(typeof mylist[name]!=="undefined"){
50
+
51
+ mylist[name](response);
52
+
53
+ }
54
+
55
+ }
56
+
57
+ function aaa(v){
58
+
59
+ console.log("hoge"+v);
60
+
61
+ }
62
+
63
+ function bbb(v){
64
+
65
+ console.log("fuga"+v);
66
+
67
+ }
68
+
69
+ registerFunction("aaa","xxx");
70
+
71
+ registerFunction("bbb","yyy");
72
+
73
+ registerFunction("ccc","zzz");//cccはリストにないので実行されない
74
+
75
+ ```
76
+
77
+ ※こうすれば指定する文字列と実行する関数は必ずしも同じである必要はない
78
+
79
+ 逆に必ず文字列名でユーザー関数を実行するなら配列に文字列を羅列し
80
+
81
+ 合致した場合だけevalを実行するような保険をかけることはできます。