gpt4 book ai didi

来自数组的 JavaScript 函数

转载 作者:行者123 更新时间:2023-12-04 00:34:48 25 4
gpt4 key购买 nike

快速提问。

我有一个包含 3 个函数的数组。当我调用我想要执行的特定函数时,它不响应数组中的特定索引。它只是执行所有功能,直到它到达最后一个功能。

代码如下:

<p id="sometext">Change Color</p>
<script>
function paintRed() {
var text = document.getElementById('sometext');
text.style.color = "red";
}

function paintBlue() {
var text = document.getElementById('sometext');
text.style.color = "blue";

}
function paintYellow() {
var text = document.getElementById('sometext');
text.style.color = "yellow";

}

var arrcolor = [ paintRed(), paintBlue(), paintYellow()];

arrcolor[0]; //This returns the yellow color and not red//

</script>

所以我的

Change Color

总是返回黄色(数组中的最后一个函数),无论我调用哪个索引,即 (arrcolor[0],arrcolor[1])。< p>

希望这是有道理的。谢谢。

最佳答案

只能把函数名(其实就是reference)放在数组里,这样执行

var arrcolor = [ paintRed, paintBlue, paintYellow];

arrcolor[2]();

JSFIDDLE

另一种方法是创建一个对象并将每个函数放入其中

var changeColor = {
paintRed :function(text){
text.style.color = "red";
},

paintBlue :function(text){
text.style.color = "blue";
},
paintYellow:function(text){
text.style.color = "yellow";
}

}
var text = document.getElementById('sometext');
changeColor.paintRed(text)

JSFIDDLE

关于来自数组的 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37897084/

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