- ベストアンサー
大域変数の保持
関数が終了しても値を保持しておけるのを 大域変数というらしいです。 要はIEを開いている間は値を保持しておく方法を 知りたいんですけど、皆さんどうやってます?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
これならどうでしょう? いきているじかんをおぼえています。 var baboo = (function () { var count = null; return function (arg) { var sa; var mess; if (! count) { count = new Date; return [count.getFullYear (), '年、baboo は誕生した'].join (''); } else { sa = (+(new Date) -(count)) / 1000 |0; return ['引数は、', arg, 'だけど、生後', sa, '秒ほど経過した。まだ漢字は覚えていない'].join (''); } }; })(); alert(baboo("hoge")); alert(baboo("huga")); alert(baboo("piyo"));
その他の回答 (3)
- notnot
- ベストアンサー率47% (4900/10358)
>変数が生きている時間を知りたいんです。 次のいずれかまで。 ・そのページを閉じる ・そのページから別のページに移る ・そのページをリロードする
お礼
ご回答有り難うございます。 ページ移って元に戻って来たらアウトなのですねorz_ クッキーかファイルに書くかしかないのですかね。
- think49
- ベストアンサー率59% (285/482)
#1 の補足より。 > 変数が生きている時間を知りたいんです。 大域変数(グローバル変数)はページが unload されるまでは生きています。 クロージャを使えば局所変数(ローカル変数)でも同じです。
お礼
ご回答有り難うございます。 unloadとはページ移ったらアウトなんでしょうか。 それともブラウザを閉じてもunloadされなければ 変数はずっと生きているのでしょうか。 その辺がよく分かっていないものですから。
- SaKaKashi
- ベストアンサー率24% (755/3136)
IEならクッキーを使う
お礼
ご回答どうでもです。 そういう普遍的なことではなくて 変数が生きている時間を知りたいんです。 もし、クッキーしかないのでしたら そのソースをご呈示下さい。
お礼
テストの案件有り難うございます。 ちょっと拝借してみます。
補足
確認が取れました。リロードしただけで死亡でした。