1

グローバルにアクセス可能な変数を作成したいと考えています。変えたい時に変えなければなりません。変更後、変更された値を提供する必要があります。

var language ="english";

function getGlobalVar(varName) {
    if(varName == "language"){
        return language;
    }
}

function setGlobalVar(varName, value) {
    if(varName == "language"){
       language = value;
    }
}

他のページで getGlobalVar("language") を使用する場合、変更された値を与える必要があります。

4

3 に答える 3

5

グローバル変数は、以下に付加された単なる変数ですwindow

window.language = 'english';

function getGlobalVar(bar) {
  return window[bar];
}

後で問題が発生しないように、独自の名前空間を作成することをお勧めします。

window.MY = {};
MY.language = 'english';
于 2013-06-12T05:34:05.887 に答える
2

他のページで getGlobalVar("language") を使用する場合、変更された値を与える必要があります

Web はステートレスプロトコルを使用します。つまり、情報はページ間で保持されません。これを回避するには、セッションなどのクライアント側またはサーバー側のソリューションで Cookie を使用できます。

これを試して:

1.htm

<script type="text/javascript">
    window.val = "hello world";
    alert(window.val);
    window.location.href = "2.htm"
</script>

2.htm

  <script type="text/javascript">
    alert(window.val);
  </script>

クッキーの例:

1.htm

<script type="text/javascript">
    var in_one_year = new Date();
    in_one_year.setFullYear(in_one_year.getFullYear() + 1);
    document.cookie = "language=English" +
                      ";expires=" + in_one_year.toGMTString();


    all_cookies = document.cookie
    alert(all_cookies);
    window.location.href = "2.htm"
</script>

2.htm

<script type="text/javascript">
    alert(document.cookie);
</script>
于 2013-06-12T05:37:52.360 に答える
0

ローカル ストレージをサポートするほとんどのブラウザ向けの別のソリューション。

JStorage - JavaScript を使用してデータをローカルに保存する

于 2014-09-24T21:56:14.913 に答える