js---函数参数

函数的参数分为形参和实参

add(1,2,3)----运行函数的时候给的值是实参

function add(a,b){}----声明函数的时候,是形参

function add(a,b,c,d){
  console.log(arguments.length);//实参个数  3
  console.log(add.length);//形参的个数  4
  console.log(add.name);//函数的名字  add
  a=3;
 console.log(a,arguments[0]);//3 3  当形参和实参是对应的上的时候,他们相互映射,一个改变另一个也会改变
  arguments[1]=5;
  console.log(b,arguments[1]);//5 5  当形参和实参是对应的上的时候,他们相互映射,一个改变另一个也会改变
  d=4;
  console.log(d,arguments[3]);//4 undefined 当形参实参对不上的时候,他们不再映射,相互不会影响
}
add(1,2,3);


function add1(a){
  console.log(a,arguments[0],arguments[1]);//1 1 2
   arguments[1]=3;
   console.log(a,arguments[0],arguments[1]);//1 1 3
}
add1(1,2);

注意:参数的类型

function add(a,b){
//函数有形参会再函数内部声明并赋值,没有的话会按作用域链直接找父级中是否存在这个变量
   //var a=a;var b=b;由于a是引用类型,所以会改变全局中的a b是原始值,只是单纯的复制一份
   a.push('123');
   b=b+1;
   console.log(a,b);
}
var a=[1,2,3],b=3;
add(a,b);//[1,2,'123']  4
console.log(a,b); //[1,2,'123']  3 


猜你喜欢

转载自blog.csdn.net/github_39132847/article/details/79594282
今日推荐