回答編集履歴

4

追記

2017/07/27 04:56

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  追記:
6
6
 
7
- **varで定義するとそのスコープでしか使えない**([参考URL](http://qiita.com/kenju/items/c7fad62a12cc2809b507))のでvarをはずし、valueを""で囲います
7
+ **varで定義するとそのスコープでしか使えない**([参考URL](http://qiita.com/kenju/items/c7fad62a12cc2809b507):```JavaScriptでは、varを使わずに定義した変数はグローバル変数として走査されます。```)のでvarをはずしグローバル変数として定義し、valueを""で囲います
8
8
 
9
9
  ""で囲うのはご提示のエラー(「helloって変数はないよ」)対策です。
10
10
 

3

修正

2017/07/27 04:56

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -4,11 +4,13 @@
4
4
 
5
5
  追記:
6
6
 
7
- **varで定義するとそのスコープでしか使えない**のでvarをはずし、valueを""で囲います
7
+ **varで定義するとそのスコープでしか使えない**([参考URL](http://qiita.com/kenju/items/c7fad62a12cc2809b507))のでvarをはずし、valueを""で囲います
8
8
 
9
9
  ""で囲うのはご提示のエラー(「helloって変数はないよ」)対策です。
10
10
 
11
+
12
+
11
- ※Chromeで動作確認済み alertボックスでhello と出力されます
13
+ ※Chromeで動作確認済み alertボックスでhelloと出力されます
12
14
 
13
15
  ```javascript
14
16
 

2

追記修正

2017/07/27 04:54

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -4,7 +4,11 @@
4
4
 
5
5
  追記:
6
6
 
7
- varで定義するとそのスコープでしか使えないのでvarをはずし、valueを""で囲います
7
+ **varで定義するとそのスコープでしか使えない**のでvarをはずし、valueを""で囲います
8
+
9
+ ""で囲うのはご提示のエラー(「helloって変数はないよ」)対策です。
10
+
11
+ ※Chromeで動作確認済み alertボックスでhello と出力されます
8
12
 
9
13
  ```javascript
10
14
 

1

追記

2017/07/27 04:53

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -1 +1,21 @@
1
1
  ユーザ関数test() 内で定義された変数なのでそのスコープ外から参照できないだけでは。
2
+
3
+
4
+
5
+ 追記:
6
+
7
+ varで定義するとそのスコープでしか使えないのでvarをはずし、valueを""で囲います。
8
+
9
+ ```javascript
10
+
11
+ function test(name, value){
12
+
13
+ eval(name + '="' + value + '";');
14
+
15
+ }
16
+
17
+ test('hoge', 'hello');
18
+
19
+ alert(hoge);
20
+
21
+ ```