JS的中的函数

  1. 创建函数的方式:

    消费型函数:function consumer(params){}
    供给型函数: function supply(){return result}
    函数型:     function f(params){return result}
    断言型函数:function predicate(boolean,object){return boolean}
    无参数无返回值的函数:function test(){}
    注意: 1,如果函数内部由局部变量和全局变量重名了,那么在函数内部使用该变量优先用函数内部定义的(就近原则)
          2,在函数内部使用一个变量如果自身没有去全局作用域找
          3,如果在一个函数内部声明 一个变量没有加var关键字修饰,那么声明是全局变量而不是局部变量
          4,对于基本数据类型而言形参的改变不会影响实参,引用类型形参的改变会影响到实参
     /* 
            需求:定义一个函数求两数的和
                    可以在函数()中指定一个或者多个形参(形式参数)
                    多个参数之间用逗号分隔,形参其实就相当于在函数的内部声明了对应的局部变量,但是没给对应的变量赋值。
    
            */
           function sum(a,b){
            if (typeof a == "number" && typeof b == "number"){
                return a+b;
            }
            return "非法的类型";
           }
           var result = sum(10,20);
           console.log(result);
        /**
         * 
         * @param args是一个可变性参,该参数可以是0~任意个,可变形参其实就是一个数组
        */
           function sum(...args){
            var sum = 0;
            for (var i = 0; i <args.length ; i++){
                sum +=args[i];
            }
            return sum;
           }
           /*
           * 在函数调用的时候我们可以指定(实参)中的值,实参的作用就是给形参赋值
           */
          result = sum1(1,2,3,4,5,6);
          console.log(result);
          /*
          *调用函数的时候解析器不会检查实参的类型,所以需要注意,是否可能接收到非法参数,如果可能则需要对参数的类型做出检查
          */
          result = sum1("hello",1);
          console.log(result);
    
          sum();
          sum(10);

  2. 函数的定义

    JavaScript 使用关键字 function 定义函数。

    函数可以通过声明定义,也可以是一个表达式。

     <script>
            var a=20;
            function test(a){
                /* c=20;//等同于在全局作用域中声明了变量c
                b=20;*/
                a=21;
                console.log(a);
            }
            test(a);
            // console.log(c);
            // console.log(b);
            console.log(a);
    
    
            
            var obj ={
                name:"张三"
            }
            function test1(obj) {
                obj.name="李四";
            }
            test1(obj);
            console.log(obj.name);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值