js 函数基础 函数种类 形参实参

<script type="text/javascript">
    //关于函数的一些细节
    function a1(){
      var a=b=1;
      //这样命名局部变量 函数体内可以正常使用 函数体外变量a未定义 然而b可以被找到
    }
    var test=function test1(){}
    //表达式命名函数 test1对test意义不大 console(test.name)为test1

    //匿名函数表达式  window.prompt("a")键盘接收用户数据输入
    //var aa=Number(window.prompt("a"));
    //var bb=Number(window.prompt("b"));
    var num=function (a,b){
        console.log(a+b);
    };
    //num(aa,bb);//aa bb 占位符

    //-----> 实参与形参数量可不等 -->console.log(argument) 可知道程序有多少实参 也可以取出来 形参同理

    //function test2(a,b,c){console.log(a,b)}
    //test2(1,2,3);//报错 c未定义
    //function  test2(a,b){console.log(a,b)}
    //test2(1,2,3);//未报错

    //调用函数 累加其实参值 arguments.length获取实参的长度(个数)
    function num1(){
        var x=0;
        for(var i=0;i<arguments.length;i++){
            x +=arguments[1];
        }
        console.log(x);
    }
    //num1(1,2,3,3,5,6);

    //实参与形参的映射  形参和实参不是同一个东西
    /*
        形参:是在定义函数时使用的参数,目的是用来接收调用该函数时传进来的实际参数。
        实参:是在调用时传递给函数的参数。
    * */
    function test3(a,b){//形参
        a=3;   //重新覆盖 3->2->a
        console.log(arguments[0]);//arguments[0]指向a 但是arguments存在堆内存里面 而变量a b存在栈内存
        console.log(arguments[1]);//4
        console.log(a);//3
        console.log(arguments[0]===a);//true
        /*     ==和===的区别和一些比较规则:
            == 在比较类型不同的变量时,会进行数据类型转化,将二者转换成数据类型相同的变量,再进行比较。
        NaN == NaN false NaN和任何数都不相等,包括NaN本身 。 [] == [] false {} == {} false 引用数据类型比较的是地址。
        undefined == null true 但是 undefined === true false (因为数据类型不一样)。
        对象 == 字符串 将对象转换成字符串.
                    剩下的其他情况如果两边数据类型不一样,都需要转换成数字类型。
            === 比较的二者数据类型不一样时,直接返回false。
        */
    }
    //test3(2,4);//实参
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值