Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过javascript更改数组元素的值?_Javascript_Arrays - Fatal编程技术网

如何通过javascript更改数组元素的值?

如何通过javascript更改数组元素的值?,javascript,arrays,Javascript,Arrays,我想制作一个按钮来更改数组中元素的值。我试图通过下面的代码来实现,但是元素没有改变。作为一个自学的初学者,我可能错过了一些非常明显的东西,如果有人能向我指出这一点,我将不胜感激 谢谢你的回答 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Change Array Value</title> </head> <body> &l

我想制作一个按钮来更改数组中元素的值。我试图通过下面的代码来实现,但是元素没有改变。作为一个自学的初学者,我可能错过了一些非常明显的东西,如果有人能向我指出这一点,我将不胜感激

谢谢你的回答

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Change Array Value</title>

</head>

<body>
<textarea id="log2"></textarea>
<input type="button" onClick="uClicked();" value="Click!">
<script>
    var fer=[];

    for (i=0; i< 15; i++){
            fer[i]=i+1;
    }

    function uClicked(fer){
        fer[12] = 10; 
        return fer[12];
    }
    log2.value = "fer[12]= " + fer[12];

</script>
</body>
</html>

更改数组值
var-fer=[];
对于(i=0;i<15;i++){
fer[i]=i+1;
}
函数uClicked(fer){
fer[12]=10;
返回[12];
}
log2.value=“fer[12]=”+fer[12];
不需要该参数,它隐藏了实
fer
变量

因为
fer
是在外部作用域中声明的,
uClicked
函数可以访问它

固定代码:

var fer=[];

for (i=0; i< 15; i++){
        fer[i]=i+1;
}

function uClicked(){
    fer[12] = 10; 
    alert(fer[12]);
}
var-fer=[];
对于(i=0;i<15;i++){
fer[i]=i+1;
}
函数uClicked(){
fer[12]=10;
警报(fer[12]);
}

您的代码和注释

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Change Array Value</title>

</head>

<body>
<textarea id="log2"></textarea>
<input type="button" onClick="uClicked();" value="Click!">
<script>
var fer=[];

for (i=0; i< 15; i++){ //use var i, otherwise you are putting i in the global scope
        fer[i]=i+1;
}

function uClicked(fer){ // fer is undefined because you are not passing argument when you call the function
    fer[12] = 10; 
    return fer[12];
}
log2.value = "fer[12]= " + fer[12]; //log2 is not defined.

</script>
</body>
</html>

更改数组值
var-fer=[];
对于(i=0;i<15;i++){//使用var i,否则将i放入全局范围
fer[i]=i+1;
}
函数uClicked(fer){//fer未定义,因为调用该函数时未传递参数
fer[12]=10;
返回[12];
}
log2.value=“fer[12]=”+fer[12]//log2没有定义。
工作守则:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Change Array Value</title>

</head>

<body>


<textarea id="log2"></textarea>
<input type="button" onclick="uClicked();" value="Click!" />
<script type="text/javascript">
var fer = [];
for(var i; i < 15; i++){
        fer[i]=i+1;
}
var log2 = document.getElementById("log2");
function uClicked(){
    fer[12] = 10; 
    log2.value = "fer[12]= " + fer[12];
    return fer[12];
}
</script>
​


​</body>
</html>

更改数组值
var-fer=[];
对于(变量i;i<15;i++){
fer[i]=i+1;
}
var log2=document.getElementById(“log2”);
函数uClicked(){
fer[12]=10;
log2.value=“fer[12]=”+fer[12];
返回[12];
}
​
​

相关:感谢您的回答!特别是这些评论非常有助于理解我做错了什么。我还注意到
返回fer[12]不是程序工作所必需的。祝你有愉快的一天@格利宁很乐意帮忙。顺便说一下,考虑一下你觉得有用的答案。我试着去投票,但不幸的是它需要15的声誉。当我有它的时候,我会记住它。干杯非常感谢您的回答!代码正是我所需要的!
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Change Array Value</title>

</head>

<body>


<textarea id="log2"></textarea>
<input type="button" onclick="uClicked();" value="Click!" />
<script type="text/javascript">
var fer = [];
for(var i; i < 15; i++){
        fer[i]=i+1;
}
var log2 = document.getElementById("log2");
function uClicked(){
    fer[12] = 10; 
    log2.value = "fer[12]= " + fer[12];
    return fer[12];
}
</script>
​


​</body>
</html>