在引用错误中将字符串放在一起:左侧的赋值无效
Putting together a string in ReferenceError: invalid assignment left-hand side
我在这里做错了什么?
function F2()
{
for(i = 1; i < 7; i++)
{
('zone'+i+'Data') = ('1'+document.getElementById('Z'+i+'Operate').value +
document.getElementById('Z'+i+'OnTimeH').value +
document.getElementById('Z'+i+'OnTimeM').value +
document.getElementById('Z'+i+'Duration').value +
document.getElementById('Z'+i+'Repeat').value +
document.getElementById('Z'+i+'Extra').value);
('op'+i).innerHTML = ('zone'+i+'Data');
}
}
zone1Data、zone2Data 等在外部声明。如果我不运行循环并使用 zone1Data = 而不是 ('zone'+i+'Data') = 它工作正常,所以我认为我的语法有问题......可能也是最后一行。
任何想法如何做到这一点??
('zone'+i+'Data') =
是分配动态变量的无效方式
将数组表示法与变量名称一起使用以创建新变量
window['zone'+i+'Data'] = "something";
this['zone'+i+'Data'] = "something"
someOtherObject['zone'+i+'Data'] = "something";
然后,您可以使用点表示法访问它
console.log( window.zone0Data );
console.log( this.zone0Data );
console.log( someOtherObject.zone0Data );
我会避免使用window
的,因为这会污染全局命名空间
正如Ingo Bürk所提到的,最好将它们放入一个数组中
。var zoneData = new Array();
for(i = 1; i < 7; i++) {
zoneData[i] = ('1'+document.getElementById('Z'+i+'Operate').value +
document.getElementById('Z'+i+'OnTimeH').value +
document.getElementById('Z'+i+'OnTimeM').value +
document.getElementById('Z'+i+'Duration').value +
document.getElementById('Z'+i+'Repeat').value +
document.getElementById('Z'+i+'Extra').value);
}
并且每个区域数据都可以通过其索引访问
console.log(zoneData[1]);
console.log(zoneData[2]);
相关文章:
- 未捕获的ReferenceError:赋值中的左侧无效
- 变量赋值无效
- Javascript/Html 未捕获的引用错误:赋值中的左侧无效;未捕获的引用错误:未定义计算
- 样式属性赋值上的“赋值中的左侧无效”
- 左侧赋值无效(railo.transformer.bytecode.op.OpString)
- 在javascript中构建HTML表,得到“引用错误:左侧无效赋值”
- 更改 CSS“z-index”属性:“赋值中的左侧无效”
- Javascript 错误:左侧赋值无效
- 在引用错误中将字符串放在一起:左侧的赋值无效
- 未捕获的引用错误:赋值(匿名函数)中的左侧无效
- jQuery/Javascript赋值左侧无效
- 为innerHTML赋值无效
- 带有三进制if的左侧赋值无效
- 在我必须做的一件简单的事情中,赋值中的左侧无效
- "赋值中的左侧无效“;当接收到来自Facebook API的响应时
- 我得到了“;赋值中的左侧无效“;在我的代码(JS)中
- 变量名称-赋值中左侧无效
- 未捕获的ReferenceError:赋值javascript中的左侧无效
- 如何处理'无效赋值left hand '错误:firefox或chrome
- Javascript ReferenceError:左边无效赋值