2012-03-13 3 views
0

JavaScriptの変数の使用に関する初心者の質問があります。私はプログラミングには新しくないが、私はjavascriptには新しく、いくつかのことが私にアピールするようだ。外部のサイトを使用するための異なるlocalStorageオブジェクトを変更するための基本的な単一のJavaScript関数の作成

function use(xue) { 
    if(xue=='zero') { 
    alert(localStorage.xue) 
    if(Number(localStorage.xue) <= 0) { 
     alert("Out of that level spell!"); 
     return false; 
    } 
    localStorage.zero = Number(localStorage.zero)-1; 
    updateGUI(); 
    } 
} 

申し訳ありませんが、私はそれを正しくフォーマットする方法を見つけ出すことができませんでした:次のJavaScriptとの私の質問のお得な情報をスニペット。とにかくそれは13行だけsooo私はそれが問題ではないことを願っています。

問題は、私がlocalStorage.zeroの下にあるlocalStorageに情報を格納していることです。私がしたいことは、渡されている文字列を使ってlocalStorageデータを更新することです。このように、私はちょうど異なる文字列を渡すことができ、この単一の関数にすべての情報を更新させることができます。

今のところlocalStorage.xueが期待どおりに定義されていないというエラーが表示されます。

私がピザを渡すかどうかを明確にするには、localStorage.pizzaが変更されるか、またはホップlocalStorage.hopを渡すと変更されます。

申し訳ありませんが、私は散歩していますが、私は少し神経質です。

ありがとうございます!

答えて

0

localstorage here(ウェブストレージ用のw3ドラフト、ブラウザによっては実装が異なる場合があります)とMozillaのガイドhereの定義を見てください。

あなたはおそらくあなたが望む動作を実装するために、このような何かを行うことができます。私はあなたの関数は、現在ハングアップなっているところだと思う

function use(xue) { 
    localStorage.setItem(xue, xue); 

    if(Number(localStorage[xue]) <= 0) { 
     alert("Out of that item!"); 
     return false; 
    } else { 
     //You might want to put some more logic here: 
     //maybe a check with default value for localStorage.zero like 
     //if(localStorage["zero"] !== undefined && localStorage["zero"] !== null)... 

     localStorage.zero = Number(localStorage.zero)-1; 
     updateGui(); 
    } 
}; 

localStorage.xuelocalStorage['xue']と同等であるということですが、あなたの意図は持っているかもしれ

上記の私の機能では、localStorage[xue]と記載してこのインテントをキャプチャしようとしています。引用符は中止されているので、xueの値をキーとして使用することに注意してください。

Quirksmodeのlinkは、JSのオブジェクトを連想配列として表示する方法についても説明しています。

希望すると便利です。

+0

ありがとうございました!私はlocalStorageが辞書のように思えた....それは働いた! – Cait

+0

素晴らしい、これはうまくいった!あなたは私の答えを受け入れることができますか?ありがとう – mrdc

関連する問題