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

回答編集履歴

4

追記

2017/07/27 04:56

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  ユーザ関数test() 内で定義された変数なのでそのスコープ外から参照できないだけでは。
2
2
 
3
3
  追記:
4
- **varで定義するとそのスコープでしか使えない**([参考URL](http://qiita.com/kenju/items/c7fad62a12cc2809b507))のでvarをはずし、valueを""で囲います
4
+ **varで定義するとそのスコープでしか使えない**([参考URL](http://qiita.com/kenju/items/c7fad62a12cc2809b507):```JavaScriptでは、varを使わずに定義した変数はグローバル変数として走査されます。```)のでvarをはずしグローバル変数として定義し、valueを""で囲います
5
5
  ""で囲うのはご提示のエラー(「helloって変数はないよ」)対策です。
6
6
 
7
7
  ※Chromeで動作確認済み alertボックスで「hello」と出力されます

3

修正

2017/07/27 04:56

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -1,9 +1,10 @@
1
1
  ユーザ関数test() 内で定義された変数なのでそのスコープ外から参照できないだけでは。
2
2
 
3
3
  追記:
4
- **varで定義するとそのスコープでしか使えない**のでvarをはずし、valueを""で囲います
4
+ **varで定義するとそのスコープでしか使えない**([参考URL](http://qiita.com/kenju/items/c7fad62a12cc2809b507))のでvarをはずし、valueを""で囲います
5
5
  ""で囲うのはご提示のエラー(「helloって変数はないよ」)対策です。
6
+
6
- ※Chromeで動作確認済み alertボックスでhello と出力されます
7
+ ※Chromeで動作確認済み alertボックスでhelloと出力されます
7
8
  ```javascript
8
9
  function test(name, value){
9
10
  eval(name + '="' + value + '";');

2

追記修正

2017/07/27 04:54

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -1,7 +1,9 @@
1
1
  ユーザ関数test() 内で定義された変数なのでそのスコープ外から参照できないだけでは。
2
2
 
3
3
  追記:
4
- varで定義するとそのスコープでしか使えないのでvarをはずし、valueを""で囲います
4
+ **varで定義するとそのスコープでしか使えない**のでvarをはずし、valueを""で囲います
5
+ ""で囲うのはご提示のエラー(「helloって変数はないよ」)対策です。
6
+ ※Chromeで動作確認済み alertボックスでhello と出力されます
5
7
  ```javascript
6
8
  function test(name, value){
7
9
  eval(name + '="' + value + '";');

1

追記

2017/07/27 04:53

投稿

m.ts10806
m.ts10806

スコア80888

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