js函数的形参与实参详解

函数参数

形参 写再函数声明的括号内

functiong abc(n,m); 函数声明的,括号内 eg:n,m;用来接收实参的变量

实参 写在调用函数的括号内

abc(5,6); 实参:调用函数的括号内 eg:5,6;真实的数值,字符串,运行时的函数调用时传入的参数
函数名后面的小括号中的内容是一种变量叫做参数
参数名起名规则和变量名类似,但是有时候可以使用下划线来起头(临时变量)
如果有多个参数时,就需要使用逗号分隔
n,m这个形参这个变量的范围是仅在当前函数语句块中
在该函数外不要调用该函数的参数

    <script>
      function abc(n,m){
        console.log(n,m);
      }
      abc(5,6);
    </script>

指定参数的值叫做实参(实际的参数内容);
abc(); 不填入参数也能执行,但这种方式就相当于给形参定义值undefined;
abc(10); 只填入一个值,就表示第一个赋值10,第二个仍然赋值undefined;
abc(5,6); 参数传值是按照顺序赋值的;
执行函数时,需要带入指定参数的值;
形参有几个,执行函数时实参就需要填几个;
abc(5,6,7); 多传入的7没有参数接收,所以不能被调用;
abc(undefined,10); 不想给n传,只想给m传;
如果出现参数的个数不确定 我们可以不定义参数;

传参时传入栈中的数据
        function fn1(n){
            n++;
        }
        var s=1;
        fn1(s);	//执行fn1时,将s变量的值传入到函数fn1中,赋值给n
        console.log(s);  // s结果为1
传参时传入对象
        var obj={a:1};
        function fn2(o){
            o.a++;
        }
        fn2(obj);
        console.log(obj);	// a:2

传参传入的是对象,变量是对象,变量的值就是这个对象的引用地址
当传参时将引用地址赋值给o,因此,o和obj的引用地址相同,是同一个对象,
所以修改了o.a值,obj.a也被修改了
栈中的数据,赋值时是一个数值、字符、布尔,改变时不会引起引用改变

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值