函数形参是数组元素

来源: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,在遍历过程中交换。

如果解答了同学的疑问,望采纳~

祝学习愉快~


0

0 学习 · 9666 问题

查看课程