私はゲームをしています。私は数字で問題を修正しましたが、今は新しい問題があります。値が高い場合、ローカルストレージが機能しなくなる
ユーザーが特定の番号を過ぎると、ローカルストアに追加されなくなります。 http://beefinc.tkを参照し、localstorageの値を9000000000000000000に変更して、値の+1を停止します。あなたがその番号に行き、赤いボタンを牛でクリックすると、あなたのお金がどこにあるかをNaN
と言います。だから私はこれをどうやって解決するのかと思っていた。以下は私のコードです。
var money = null;
if (localStorage.getItem('money')) {
var money = nFormatter(localStorage.getItem('money'), 1);
$$("#moneyCount").html(money);
} else {
var money = localStorage.setItem('money', '0');
$$("#moneyCount").html(money);
}
$$(".beefButton").on('click', function() {
var money = localStorage.getItem('money');
money++;
localStorage.setItem('money', money);
$$("#moneyCount").html(nFormatter(localStorage.getItem('money'), 1));
setColor('Checking For Achievements', "#ed7032", "font-weight: bold; font-size: 20px;");
var money = localStorage.getItem('money');
if(money === '100') {
setColor('Found 100', "#ed7032", "font-weight: bold; font-size: 20px;");
setColor('Displaying Entrepreneur Achievement!', "#ed7032", "font-weight: bold; font-size: 20px;");
beefinc.addNotification({
message: 'Become an Entrepreneur'
});
}
if(money === '1000') {
setColor('Found 1000', "#ed7032", "font-weight: bold; font-size: 20px;");
setColor('Displaying Business Man Achievement!', "#ed7032", "font-weight: bold; font-size: 20px;");
beefinc.addNotification({
message: 'Become an Business Man'
});
}
if(money === '1000000') {
setColor('Found 1000000', "#ed7032", "font-weight: bold; font-size: 20px;");
setColor('Displaying Millionaire Achievement!', "#ed7032", "font-weight: bold; font-size: 20px;");
beefinc.addNotification({
message: 'Become an Millionaire'
});
}
start = clicks = frequency = 0
if (!start) {
start = new Date;
frequency = ++clicks/(new Date - start) * 1000;
}
});
function nFormatter(num, digits) {
var si = [
{ value: 1E33, symbol: "D"},
{ value: 1E30, symbol: "N"},
{ value: 1E27, symbol: "O"},
{ value: 1E24, symbol: "Y"},
{ value: 1E21, symbol: "Z" },
{ value: 1E18, symbol: "E" },
{ value: 1E15, symbol: "P" },
{ value: 1E12, symbol: "T" },
{ value: 1E9, symbol: "B" },
{ value: 1E6, symbol: "M" },
{ value: 1E3, symbol: "K" }
], rx = /\.0+$|(\.[0-9]*[1-9])0+$/, i;
for (i = 0; i < si.length; i++) {
if (num >= si[i].value) {
return (num/si[i].value).toFixed(digits).replace(rx, "$1") + si[i].symbol;
}
}
return num.toFixed(digits).replace(rx, "$1");
}
だから私は、私が代わりに$を$$使用を知っているが、私はその上のjQueryのバージョンで構築されたが、それはまさにそれのように動作していFramework7と呼ばれるフレームワークを使用するためです。
9000000000000000001は[最大安全整数値](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER)よりも大きくなります(JavaScriptは9007199254740991 )。 – robertklep