Javascript 如何将永久数据添加到变量中
我在做一个项目,玩一个石头剪刀布游戏 游戏运行得很好,但我想添加一些东西。一个定点系统,每次玩家赢了它都会加1,但我似乎无法做到这一点。我已经尝试了近2天的解决方法,但我似乎找不到任何解决方案。问题是代码可以工作,但是在我记录了将1添加到变量的函数之后,它返回到它的原始值,即0Javascript 如何将永久数据添加到变量中,javascript,Javascript,我在做一个项目,玩一个石头剪刀布游戏 游戏运行得很好,但我想添加一些东西。一个定点系统,每次玩家赢了它都会加1,但我似乎无法做到这一点。我已经尝试了近2天的解决方法,但我似乎找不到任何解决方案。问题是代码可以工作,但是在我记录了将1添加到变量的函数之后,它返回到它的原始值,即0 const one = 1 function addone(test){ test += 1 } addone(one) console.log(one) 这会打印原始值,就像函数没有对其做任何操作一样。我很困
const one = 1
function addone(test){
test += 1
}
addone(one)
console.log(one)
这会打印原始值,就像函数没有对其做任何操作一样。我很困惑。我发现您的代码中有两个问题:
是一个one
变量。这意味着您不能修改其初始值const
是函数内部的局部变量,这意味着函数不会修改作为参数传递的变量的值(test
)one
++
)可以添加一个单元,我强烈建议您使用它而不是创建一个函数:
var one = 1
one++;
console.log(one)
如果要使用函数,必须执行以下操作:
var one = 1
function addone(test){
return test+1;
}
one = addone(one);
console.log(one)
就将永久数据存储到javascript变量而言,这是不可能的。变量存储在RAM中,这意味着当您停止程序时,程序的所有数据都将被擦除。永久存储在数据库和其他复杂的数据结构中
如果你想玩多个游戏,你应该考虑允许玩家在程序完成之前玩更多的游戏。
非常感谢你,我从来没有想到我可以得到更多的哑巴,所以我不能操纵它,因为它只是我作为参数输入的那个变量的拷贝。这意味着函数根本没有触及变量。我希望我能回到我母亲的子宫里 康斯特,这只是一个打字错误,很抱歉。我不知道这个网站非常活跃,我想我会等上几天才能得到回复,非常感谢,祝你过得愉快函数不会修改参数的值,因为Javascript是按值传递原语的,而不是按引用传递。正如@BrunoLipovac comment Javascript是按值传递原语的。我已经做了一个低级的解释,以提供一个容易理解的解释。欢迎!。Mozilla有很多文章解释了javascript的基本内容:。