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

回答編集履歴

5

追記

2020/10/04 08:17

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
@@ -51,4 +51,6 @@
51
51
  ```
52
52
 
53
53
 
54
- 本回答のような古典的な方法ですと、window オブジェクトに無数のプロパティを付与するだけでなく、再代入で意図せず書き換わる危険がありますので、冒頭でも述べたように、maisumakun さんの回答(``words``) を使うのが良いと思います。
54
+ 本回答のような古典的な方法ですと、window オブジェクトに無数のプロパティを付与するだけでなく、再代入で意図せず書き換わる危険がありますので、冒頭でも述べたように、maisumakun さんの回答(``words``) を使うのが良いと思います。
55
+
56
+ 動くサンプル: [CODEPEN](https://codepen.io/AkitoshiManabe/pen/LYNwRJV?editors=1011)

4

改訂

2020/10/04 08:17

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
File without changes

3

改訂

2020/10/03 09:38

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
@@ -31,6 +31,10 @@
31
31
 
32
32
  > 配列を取り出したいのですが、どうしたら文字列から配列の変数にできますか?
33
33
 
34
+ **おすすめはできません**(古典を知っていただく目的で回答します)
35
+ 要は「window オブジェクトそのものを 連想配列のように扱う」方法です
36
+ 前半のように var 宣言した上で以下のコードを試してみてください。
37
+
34
38
  ```
35
39
  var clk2 = function(button){
36
40
  if( word && word.length === 1 ) {

2

加筆

2020/10/03 09:38

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
@@ -6,7 +6,7 @@
6
6
  1. 定数(``const``)は宣言されていますが、変数は宣言されていません。
7
7
  2. ``input[type="button"]``の ``id`` 属性を変数名とするなら、id属性値に応じた文字列を考えてください。
8
8
  3. 変数を文字列で扱う場合、``var`` 宣言で実装する方法はあります(古典的手法)。
9
- ``var``宣言すると windowオブジェクトのプロパティとなるので ``window["propName"]`` でアクセスできる。
9
+ グローバルスコープで ``var``宣言すると windowオブジェクトのプロパティとなるので ``window["propName"]`` でアクセスできる。
10
10
 
11
11
  ```javascript
12
12
  var Ai = ["愛", "藍", "哀"];

1

訂正

2020/10/03 09:31

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
@@ -34,8 +34,8 @@
34
34
  ```
35
35
  var clk2 = function(button){
36
36
  if( word && word.length === 1 ) {
37
- word = word.toUpperCase() + button.id;
37
+ //word = word.toUpperCase() + button.id;
38
-
38
+ word += button.id;
39
39
  console.log(`word = ${word}`);
40
40
  start(word);
41
41
  }