Javascript 使用函数中的参数调用变量
我已经在函数外定义了一个变量,我需要能够根据函数调用的参数调用该变量 HTMLJavascript 使用函数中的参数调用变量,javascript,html,Javascript,Html,我已经在函数外定义了一个变量,我需要能够根据函数调用的参数调用该变量 HTML 在这种情况下,如何将data1的参数与_Data结合起来以获得Area300_Data?除非使用eval,否则可能无法使用。 第二,除非将数据作为字符串添加,否则它将充当变量。所以要么把它放在引号内,要么使用模板文本 var Area 300_Data=somedata 函数adata,data1{ 如果数据==‘额外’{ //做点什么 }否则,如果数据==‘正常’{ console.logeval`${data1
在这种情况下,如何将data1的参数与_Data结合起来以获得Area300_Data?除非使用eval,否则可能无法使用。 第二,除非将数据作为字符串添加,否则它将充当变量。所以要么把它放在引号内,要么使用模板文本 var Area 300_Data=somedata 函数adata,data1{ 如果数据==‘额外’{ //做点什么 }否则,如果数据==‘正常’{ console.logeval`${data1}\u数据` //应该显示一些数据 } }
单击,除非使用eval,否则该选项可能不起作用。 第二,除非将数据作为字符串添加,否则它将充当变量。所以要么把它放在引号内,要么使用模板文本 var Area 300_Data=somedata 函数adata,data1{ 如果数据==‘额外’{ //做点什么 }否则,如果数据==‘正常’{ console.logeval`${data1}\u数据` //应该显示一些数据 } }
单击如果您在全局范围内,则每个变量都存储到窗口中 所以你可以
window[`${data1}_Data`]
如果您在全局范围内,则每个变量都存储在窗口中 所以你可以
window[`${data1}_Data`]
您可以将数据保存在对象中,并像访问属性一样访问该数据 e、 g 现在您可以像这样动态地访问这些数据
function a(data, data1) {
if (data=='extra') {
//do something
} else if (data=='normal') {
console.log(data[data1+'_Data'])
//Should display "somedata"
}
}
它将比访问窗口对象更具可读性您可以将数据保存在对象中,并像访问属性一样访问该数据 e、 g 现在您可以像这样动态地访问这些数据
function a(data, data1) {
if (data=='extra') {
//do something
} else if (data=='normal') {
console.log(data[data1+'_Data'])
//Should display "somedata"
}
}
它将比访问名为data1和_Data的两个变量之间的窗口对象data1+\u Data apply+运算符更具可读性。您不能像这样访问变量。在这种情况下,Area300_数据位于全局范围内,并使用var声明,因此它将显示在窗口中。您可以使用括号符号[]从窗口访问它
var Area 300_Data=somedata
函数adata,data1{
如果数据==“额外”{
//做点什么
}如果数据==‘正常’,则为else{
console.logwindow[`${data1}\u Data`]
//应该显示一些数据
}
}
按钮data1+\u Data在名为data1和_Data的两个变量之间应用+运算符。您不能像这样访问变量。在这种情况下,Area300_数据位于全局范围内,并使用var声明,因此它将显示在窗口中。您可以使用括号符号[]从窗口访问它
var Area 300_Data=somedata
函数adata,data1{
如果数据==“额外”{
//做点什么
}如果数据==‘正常’,则为else{
console.logwindow[`${data1}\u Data`]
//应该显示一些数据
}
}
button为什么不尝试创建一个使用data1作为键的对象可能是这样的
var gobalInfo = {
Area300: "somedata"
}
function a(data, data1) {
if (data=='extra') {
//do something
} else if (data=='normal') {
console.log(globalInfo[data1]);
//Should display "somedata"
}
}
为什么不尝试创建一个使用data1作为键的对象呢?可能是这样的
var gobalInfo = {
Area300: "somedata"
}
function a(data, data1) {
if (data=='extra') {
//do something
} else if (data=='normal') {
console.log(globalInfo[data1]);
//Should display "somedata"
}
}
只需使用eval获取变量数据。比如说
var Area300_数据=300区域数据;
var Area600_数据=600区域数据;
函数adata,data1{
如果数据==‘额外’{
//做点什么
}否则,如果数据==‘正常’{
console.logeval`${data1}\u数据`
//应该显示一些数据
}
}
单击以查看区域300
单击查看区域600只需使用eval获取变量数据。比如说
var Area300_数据=300区域数据;
var Area600_数据=600区域数据;
函数adata,data1{
如果数据==‘额外’{
//做点什么
}否则,如果数据==‘正常’{
console.logeval`${data1}\u数据`
//应该显示一些数据
}
}
单击以查看区域300
单击以查看区域600使用对象键值配对通常不需要在此处评估对象键值配对。变量存储在窗口对象中。除非代码已经进入函数上下文,但这里的情况似乎不是这样。我在window.onload函数中定义了var Area300_Date,因为变量的数据来自JSON文件。我得到错误区域300_数据在eval中未定义如何更正?实际上这里不需要eval。变量存储在窗口对象中。除非代码已经进入函数上下文,但这里的情况似乎不是这样。我在window.onload函数中定义了var Area300_Date,因为变量的数据来自JSON文件。如果在评估时未定义错误区域300_数据,如何更正?