質問編集履歴

5

ベストアンサーの基準を説明

2019/12/20 00:57

投稿

makosankibu
makosankibu

スコア289

test CHANGED
File without changes
test CHANGED
@@ -129,3 +129,13 @@
129
129
 
130
130
 
131
131
  身勝手ではございますが、後学の為、ご教示願えますでしょうか。
132
+
133
+
134
+
135
+ 以下追記
136
+
137
+ Eggpanさんの指摘が根本的な記載を見つける手掛かりになったということでそちらをベストアンサー致します。
138
+
139
+ 詳しくはそちらのコメントをご覧ください。
140
+
141
+ 回答ありがとうございました。

4

回答への追記依頼

2019/12/20 00:57

投稿

makosankibu
makosankibu

スコア289

test CHANGED
File without changes
test CHANGED
@@ -107,3 +107,25 @@
107
107
  この実装にするのは抵抗があります。
108
108
 
109
109
  何かヒントになればと思い追記しました。
110
+
111
+
112
+
113
+ 以下19/12/04 12:45追記
114
+
115
+ 実装はmaisumakunさん、yambejpさんのような実装でよいと理解しました。回答ありがとうございます。
116
+
117
+ しかしMDNにある
118
+
119
+ > strict モードは意味を変えます。
120
+
121
+
122
+
123
+ というのが引っ掛かります。iosではどのように意味が変わって正常に動作するようになったのでしょう?
124
+
125
+ 上記の動作するコードで`"use strict";` がない場合でもエラーにはなりませんでした。
126
+
127
+ そもそもstrictモードはMDNを読んだ私の理解では、生コードより文法を厳しくチェックするものという理解であり、上記の`"use strict";`がある状態、ない状態で処理が分かれるということ自体にかなり疑問が残っています。
128
+
129
+
130
+
131
+ 身勝手ではございますが、後学の為、ご教示願えますでしょうか。

3

回答へのヒントとして追記

2019/12/04 03:54

投稿

makosankibu
makosankibu

スコア289

test CHANGED
File without changes
test CHANGED
@@ -64,11 +64,13 @@
64
64
 
65
65
 
66
66
 
67
- 上記としましても同じくiosで動作しませんでした
67
+ 上記としましても同じくiosで動作しませんでした
68
68
 
69
69
  また、
70
70
 
71
71
  ```javascript
72
+
73
+ "use strict"; /* 追記 */
72
74
 
73
75
  {
74
76
 
@@ -92,4 +94,16 @@
92
94
 
93
95
 
94
96
 
95
- も動作しませんでした。
97
+ ~~も動作しませんでした。~~
98
+
99
+ `"use strict";`を追加すると上記でipadでも正常に動作するようになりました。
100
+
101
+ しかし、[MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Strict_mode)に下記とある通り、
102
+
103
+ > ブラウザはまだ strict モードを確実に実装していないため、無条件に依存しないでください。strict モードは意味を変えます。それら変更点を当てにすると、strict モードを実装していないブラウザでミスやエラーが発生する可能性があります。
104
+
105
+
106
+
107
+ この実装にするのは抵抗があります。
108
+
109
+ 何かヒントになればと思い追記しました。

2

問題解決のために調べたことを追記

2019/12/04 03:08

投稿

makosankibu
makosankibu

スコア289

test CHANGED
File without changes
test CHANGED
@@ -65,3 +65,31 @@
65
65
 
66
66
 
67
67
  上記としましても同じくiosで動作しませんでした。
68
+
69
+ また、
70
+
71
+ ```javascript
72
+
73
+ {
74
+
75
+ let test = 99999;
76
+
77
+ function testHoge() {
78
+
79
+ alert(test);
80
+
81
+ }
82
+
83
+ $(function(){
84
+
85
+ testHoge();
86
+
87
+ });
88
+
89
+ }
90
+
91
+ ```
92
+
93
+
94
+
95
+ も動作しませんでした。

1

修正依頼に対してのレスポンス

2019/12/04 02:36

投稿

makosankibu
makosankibu

スコア289

test CHANGED
File without changes
test CHANGED
@@ -35,3 +35,33 @@
35
35
  letをvarに変更するしかないのでしょうか。
36
36
 
37
37
  それともiosでは特別な実装が必要なのでしょうか。ご教示のほど、よろしくお願いいたします
38
+
39
+
40
+
41
+ 以下追記
42
+
43
+ ```javascript
44
+
45
+ {
46
+
47
+ let test = 99999;
48
+
49
+ function testHoge() {
50
+
51
+ alert(test);
52
+
53
+ };
54
+
55
+ }
56
+
57
+ $(function(){
58
+
59
+ testHoge();
60
+
61
+ });
62
+
63
+ ```
64
+
65
+
66
+
67
+ 上記としましても同じくiosで動作しませんでした。