通配符可以用来调用Javascript中的变量吗?
Can a wildcard be used to call variables in Javascript?
我有吨 变量在这里使用,信息在HTML 中的表单之间来回传递。变量需要是全局的,以便它们可以跨各种函数工作。所以这是列表的一个示例:
var charDex = 0;
var charEnd = 0;
var charPer = 0;
var charStr = 0;
var charCon = 0;
var charInt = 0;
var charRat = 0;
var charRes = 0;
var charDip = 0;
var charGui = 0;
var charItd = 0;
var charLea = 0;
他们从零开始,将数据输入表单,一个按钮将数据发送到存储数据的 JS 函数中,然后将基于所述存储数据的各种信息发送回表单。
现在,我知道我可以通过在函数中使用函数来减少一些重复,到目前为止我已经这样做了。但是,这里仍然发生了很多事情。我想知道的是有没有办法使用通配符and/or字符串匹配来自动匹配表单输入的数据到JS变量?最终结果将达到以下效果:
function updateCharacter(form){
char* = form.c*.value;
racial* = form.r*.value;
mod* = form.m*.value;
total* = char* + racial* + mod*;
form.t*.value = total*;
}
在我的例子中,charDex 和 form.cDex.value(等等)具有相同的后缀,所以我认为我可以做一些事情,我只是不确定是什么我 missing.I 考虑过对数组使用 for 循环,但我不确定如何实现它。
不用担心!
只需使用一个对象即可。
编辑: 删除之前使用的 'char' 变量名,因为它是 reserved word.
var chars = {
Dex: "some text",
End: 0,
Per: 2,
Str: 345,
Con: "blah blah",
Int: 0,
Rat: 0,
Res: 0,
Dip: 0,
Gui: 0,
Itd: 0,
Lea: 0
}
您可以使用以下任一选项访问其中每一个的值:
chars['Dex']
chars.Dex
其中任何一个都会给你 "some text"。
要遍历属性,试试这个:
for (prop in chars) {
console.log( prop ); // this will log the name of the property
console.log( chars[prop] ); // this will log the value
}
我有吨 变量在这里使用,信息在HTML 中的表单之间来回传递。变量需要是全局的,以便它们可以跨各种函数工作。所以这是列表的一个示例:
var charDex = 0;
var charEnd = 0;
var charPer = 0;
var charStr = 0;
var charCon = 0;
var charInt = 0;
var charRat = 0;
var charRes = 0;
var charDip = 0;
var charGui = 0;
var charItd = 0;
var charLea = 0;
他们从零开始,将数据输入表单,一个按钮将数据发送到存储数据的 JS 函数中,然后将基于所述存储数据的各种信息发送回表单。
现在,我知道我可以通过在函数中使用函数来减少一些重复,到目前为止我已经这样做了。但是,这里仍然发生了很多事情。我想知道的是有没有办法使用通配符and/or字符串匹配来自动匹配表单输入的数据到JS变量?最终结果将达到以下效果:
function updateCharacter(form){
char* = form.c*.value;
racial* = form.r*.value;
mod* = form.m*.value;
total* = char* + racial* + mod*;
form.t*.value = total*;
}
在我的例子中,charDex 和 form.cDex.value(等等)具有相同的后缀,所以我认为我可以做一些事情,我只是不确定是什么我 missing.I 考虑过对数组使用 for 循环,但我不确定如何实现它。
不用担心!
只需使用一个对象即可。
编辑: 删除之前使用的 'char' 变量名,因为它是 reserved word.
var chars = {
Dex: "some text",
End: 0,
Per: 2,
Str: 345,
Con: "blah blah",
Int: 0,
Rat: 0,
Res: 0,
Dip: 0,
Gui: 0,
Itd: 0,
Lea: 0
}
您可以使用以下任一选项访问其中每一个的值:
chars['Dex']
chars.Dex
其中任何一个都会给你 "some text"。
要遍历属性,试试这个:
for (prop in chars) {
console.log( prop ); // this will log the name of the property
console.log( chars[prop] ); // this will log the value
}