函数形参是数组元素
来源:5-11 编程练习
慕粉4213824
2019-04-25 11:57:22
function swap(arr[i],arr[j]){
var temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
这样写不对,为什么?
console报错Uncaught SyntaxError: Unexpected token [
1回答
芝芝兰兰
2019-04-25
同学你好。JavaScript中的数组必须用如下三种形式之一声明:
var arr=new Array();
var arr=new Array(5);
var arr = new Array("H","e","l","l","o");JavaScript中的形参需要作为变量来声明,而不是直接使用引用。相当于省略var,不能直接使用数组下标。JavaScript中对形参的修改不会影响实参的内容。这个和Java同样的。比如下面这个例子:
var arr = new Array("H","e","l","l","o");
swap(arr[1],arr[2]);
function swap(a,b){
var temp=a;
a=b;
b=temp;
alert("a : "+a+" b : "+b);
}
alert(arr);同学可以自己运行一下看看上面的效果。
建议同学不要将交换的代码写在function中封装成函数。直接使用for循环遍历arr,在遍历过程中交换。
如果解答了同学的疑问,望采纳~
祝学习愉快~
相似问题