gpt4 book ai didi

javascript - JavaScript 中指向全局变量的指针

转载 作者:行者123 更新时间:2023-12-02 17:22:25 27 4
gpt4 key购买 nike

我在 C 方面拥有丰富的经验,但对于 JavaScript 的使用还相当陌生。我一直在寻找解释,但似乎我没有正确地表达我的问题。我需要告诉函数它应该更改哪个全局变量。代码如下:

<!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。我该如何表述?

最佳答案

您需要使用方括号表示法指定变量名称:

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'

关于javascript - JavaScript 中指向全局变量的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23805828/

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