gpt4 book ai didi

javascript - “变量”变量在 JavaScript 中不起作用

转载 作者:行者123 更新时间:2023-12-02 15:58:37 25 4
gpt4 key购买 nike

我正在练习 javascript 。

我尝试在 Javascript 中使用数组元素作为数组名称。

我搜索了 stackoverflow 并找到了一些链接,例如 this

当我测试这个时,我发现它不起作用,当我调用第二个函数时,它给出了 undefind 。请参阅jsbin link,也许我弄错了,请帮助我。这是我的代码和链接:https://jsbin.com/yazowutera/

<button onclick="testArrays1(a, [vic.zero, vic.one])">source</button>
<br>
<button onclick="testArrays2(a, vic[all[1]])">desti</button>

和 JavaScript

<script>

var vic = {

zero : ["00","01","02"],

one : ["10","11","12"],

two : ["20","21","22"]

};
var all = ["zero","one","two"];

var a = "a";


function testArrays1(needle, arrays){
for (var i=0; i<arrays.length; i++) {
alert(needle +arrays[i]);
}
}

function testArrays2(needle, arrays) {
//for (var i=0; i<arrays.length; i++) {
alert(needle +arrays);
//}
}

</script>

我现在不在 j-query 中,请用 javascript 回答

最佳答案

看来all是为HTMLAllCollection保留的特殊变量。它的第二个元素(即 all[1])是 HTMLHeadElement。这似乎仅适用于使用内联脚本(元素属性中的脚本)。如果使用普通脚本 block ,您似乎必须执行 document.all (但这可能是使用 JSFiddle 测试的副作用造成的)。

推荐的解决方案是使用不同的变量名称。例如,将变量更改为 test:

<button onclick="testArrays2(a, vic[test[1]])">desti</button>

var test = ["zero","one","two"];

关于javascript - “变量”变量在 JavaScript 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31384711/

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