
初心者の質問ですみません。
以下のような簡単なコードですが、うまく行かないのでアドバイスをお願いしますm(__)m
------------------------------------
★ //
function plus1() {
var a = 5;
a++;
console.log (a);
}
plus1();
------------------------------------
plus1()を実行するたびにaの値が1ずつ増えていくようにしたいのですが、これだと何回実行しても6のままで更新されません。
ちなみに、 var a = 5; の行を★の位置(関数定義の前)に持っていっても結果は変わらずです。
関数実行するたびに、6,7,8... と増えていくようにするにはどのように書けば良いのでしょうか?
No.1ベストアンサー
- 回答日時:
> var a = 5; の行を★の位置(関数定義の前)に持っていって
これで出来ます。
var a = 5;
function plus1() {
a++;
console.log (a);
}
出来ないとしたら、実行環境が普通でないのでしょう。
どんな風に実行していますか?
すみません、勘違いでした。
plus1() を一回しか書かずに、ブラウザをリロードするたびに1ずつ増えていくのかと勘違いしていました。
No.2
- 回答日時:
こんにちは
すでに回答はでていますが・・・
plus1の実行時にaの定義が実行されると、毎回aは初期値になってしまうのでご希望のようにはなりません。
逆に言えば、aの初期値設定をplus1の外で行っておけば良いということになります。
>var a = 5; の行を★の位置(関数定義の前)に持っていっても結果は変わらずです。
それで、大丈夫なはずですけれど・・・??
ひょっとして、plus1内の「var a = 5;」を削除するのを忘れていたりしませんか?
記述法は他にもいろいろあると思いますが、変数aをグローバルにしない一例として・・・
let plus1;
((a=5)=> { plus1 = ()=>{ console.log(++a); }})();
plus1(); // 6
plus1(); // 7
plus1(); // 8
とか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
以下のコードを実行しても、オ...
-
PowerPointで時計表示
-
ラベルの色がかわってくれない
-
JSPの処理の途中で、JavaScript...
-
デザイン時のVisible=Falseは実...
-
eval()の危険性の具体例を教え...
-
〔Excel:VBA〕マクロの実行が異...
-
一定時間ごとの実行
-
JSの値をPERLで受け取りたいん...
-
シャットダウンスクリプトの記述
-
innerHTMLなどの反映タイミング
-
VBA 図形を塗りつぶし無しにす...
-
1つのVBAコードをすべてのコア...
-
JSで文字列の先頭1文字を消した...
-
VBAによる第3、4水準文字の判定...
-
VB.NETからWEBブラウザの操作に...
-
javascriptからサーバサイドの...
-
仮アップ?
-
エクセルVBA/ Formatで文字列が...
-
javascriptでiframeを代用
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JSPの処理の途中で、JavaScript...
-
以下のコードを実行しても、オ...
-
リクエスト結果が一瞬しか表示...
-
VBA ステータスバー DoEvents
-
1つのVBAコードをすべてのコア...
-
if(1){...}とはどういうことで...
-
C#でボタン名を変更しても動く
-
デザイン時のVisible=Falseは実...
-
PowerPointで時計表示
-
VBA SORT Applyでエラー
-
〔Excel:VBA〕マクロの実行が異...
-
F8のステップインで実行すると...
-
innerHTMLなどの反映タイミング
-
[Delphi7] TWebBrowserでexecSc...
-
初心者です。gulpでコンパイル...
-
VB.netの重複データ数カウント...
-
VB.netでタイマーがスタートし...
-
再帰呼び出しになってしまうの...
-
JavaScriptでショートカットキ...
-
列を非表示にするマクロが実行...
おすすめ情報