我对C
有丰富的经验,但我使用JavaScript
相当新。我一直在寻找解释,但似乎我没有正确地表达我的问题。我需要告诉一个函数应该改变哪个GLOBAL变量。这是代码:
<!DOCTYPE html>
<html>
<head>
<script>
function test(blah)
{
if (!window.blah)
window.blah = 0;
window.blah++;
document.getElementById(blah).innerHTML = window.blah;
}
</script>
</head>
<body>
<div id="first">0</div>
<input type="button" onclick="test('first')" value="change">
<br>
<div id="second">0</div>
<input type="button" onclick="test('second')" value="change">
<br>
</body>
</html>
代码的目的是有两个单独的计数器 - 单击第一个按钮应增加window.first
,而单击第二个按钮应增加window.second
。我怎么说这个?
答案 0 :(得分:2)
您需要使用方括号表示法指定变量名称:
function test(blah)
{
if (!window[blah])
window[blah] = 0;
window[blah]++;
document.getElementById(blah).innerHTML = window[blah];
}
希望这能说明点符号与方括号表示法相比如何工作;
var o = {
key: 'value',
foo: 'bar'
};
var key = 'foo';
console.log(o['foo']); // 'bar'
console.log(o[key]); // 'bar'
console.log(o.key); // 'value'