如何通过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>