gpt4 book ai didi

javascript - 通过动态名称更新局部变量名称

转载 作者:行者123 更新时间:2023-12-03 12:04:18 25 4
gpt4 key购买 nike

我声明了以下 global local变量onetwo

我还有一个包含所有变量及其起始值的对象。

我遇到的问题是,在检查变量是否具有 localStorage 值后,我想将“count”分配给 global 局部变量,但我不这样做当我只有“key”时,知道如何将其分配给全局变量。

我可以为每个全局变量创建 if 语句,例如

if( key == "one" )  { one == count }

但这会很乏味,有更简单的方法吗?

game = new Game();
function Game(){

var one;
var two;

var variableStart = {
"one":"100",
"two":"200"
}

$.each(variableStart, function(){
this.checkVariableValue = function( vName ){
if( typeof localStorage[vName] == 'undefined' && localStorage[vName] == null ) {
return false;
}
else{
return localStorage[vName];
}
}
var count;

if( this.checkVariableValue( key ) == false ){
count = value;
}
else{
count = this.checkVariableValue(key);
}

if( key == one ){
one = count;
}
else if( key == two ){
two = count;
}

})
}

最佳答案

首先,使用这样的全局变量确实是糟糕的编码。

其次,使用两个单独的变量是糟糕的编码。

也就是说,我将向您展示如何做您想做的事情:

// Instead of:
var globalName = key;
globalName = count;

// Take advantage of the fact that globals can be accessed off the 'window' object.
window[key] = count;

如何以更干净的方式做到这一点

最好有一个全局对象,也许称为计数:

var counts = {};

然后,当你去赋值时:

counts[key] = counts;

关于javascript - 通过动态名称更新局部变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25252309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com