参数中的形参和实参

参数

当遇到不确定的值, 就需要抽取成形参, 在调用的时候, 不同数据传进去

形参: 形式参数, 写在函数function后面的()里, 用来接收实际传递过来的数据

类似变量, 命名规范和变量一致

实参: 实际传递过来的数据, 写在函数调用的()里

arguments:存在于每一个函数中, 是实参的集合

一般形参和实参一一对应

单个参数

// 单个参数
function sum(a) {
    // 求和
    var s = 0;
    // 1 + 2 + 3 + 4 + ... + 100
    for(var i = 1; i <= a; i++){
        // s = s + i;
        s += i;
    }
    console.log(s);
};
// 调用
sum(100);
sum(1000);
sum(2000);

多个参数

多个参数: 用,隔开

// 50-80  90-100 1000-10000
// 多个参数: 用,隔开
function sum1(start, end) {
    // 求和
    var s = 0;
    // 1 + 2 + 3 + 4 + ... + 100
    for(var i = start; i <= end; i++){
        // s = s + i;
        s += i;
    }
    console.log(s);
};
sum1(1, 100);
sum1(50, 80);

arguments

如果参数个数不确定, 形参和实参干脆一个都不写, 直接使用arguments

arguments: 存在于每一个函数中, 是实参的集合

function sum2() {
    console.log(arguments);
    // 将arguments中的每个数据加起来
    var s = 0;
    for(var i = 0; i < arguments.length; i++){
        console.log(arguments[i]);
        s += arguments[i];
    }
    console.log(s);
}
sum2(3,4,5,6,7,8);
sum2(40,50,60);

形参和arguments的关系:

两者互相影响

function fn(a) {
    console.log(a, arguments);
    a = 50;
    console.log(a, arguments);
    arguments[0] = 100;
    console.log(a, arguments);

};
fn(30);

形参

定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数。

形参的本质是一个名字,不占用内存空间

// 传参
// 函数的形参在函数被调用的第一行代码优先执行, 形参接收实参, 执行函数体
// 函数每调用形成一个新的局部作用域, 代码的解析过程遵循预解析过程
function fun(a) {
    console.log(a);
    var a = 30;
    console.log(a);
};
fun(10);

/* 
    解析过程:
        function fun(a) {
            console.log(a);
            var a = 30;
            console.log(a);
            解析过程:
                var a;-->声明形参 
                var a;
                a = 10; ---> 接收实参
                console.log(a); // 10
                a = 30;
                console.log(a); // 30
        };
        fun(10);
*/

实参

可以是常量、变量或表达式, 无论实参是何种类型的量,在进行函数调用时,都必须具有确定的值, 以便把这些值传送给形参。 

 在调用函数过程中,系统会把实参的值传递给被调用函数的形参。或者说,形参从实参得到一个值。该值在函数调用期间有效,可以参加该函数中的运算。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沁沁酱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值