初级函数返回值

咳咳咳,今天整理了,函数的返回值,重中之重,同鞋们一定要好好学习,把下面的案例都搞懂了,你就明白返回值是什么东东,以后要这么用。

返回值

 什么是函数返回值:函数执行后的结果外部需要使用的时候,我们不能直接给予,是需要通过return返回。

1、执行函数完毕之后,返回的数据
2、有return的函数就有返回值,反之则没有返回undefined
3、把函数内部的值赋值给外边
    var j=fn(2,3);
    console.log(j);
    function  fn(a,b) {
        var c=a+b;
        // 如果我们想把函数内部的值赋值给外部,必须使用return;
        //如果没有return或则return没有值,函数返回undefine
        return c;
    }
4、如果没有return或则return没有值,函数返回undefined
5、函数通过运算来的值是半成品,需要二次加工
    外边要哪个值,我们就返回哪个值
    function  fn() {
        var sum=0;
        for(var i=1; i<=100; i++){
            sum+=i
        }
        //外边要用那个值,就返回那个值
        return sum;
    }
   var tu=fn()+50;
    console.log(tu)
6、函数返回值,必须执行得到
7、函数执行完return后会立即结束,return后面的代码不会执行
   function fn(){
        console.log(1);
        console.log(2);
        return;
        //函数执行完return后会立即结束,return后面的代码不会执行
        console.log(3)
    };
    fn()
8、函数的返回值必须要执行才可以得到
9、return 可以截断循环
10、开闭原则 var bool=true;
11、两个平级函数中的变量不会相互影响(可以使用同样的形参名)
 //俩个函数中的局部变量不会相互影响
   function fn(dd){
       console.log(1)
   }
   fn();
   function fn2(dd){
       console.log(2)
   }
   fn2()

12、凡是 是累加 或是 计算的变量,都放在函数体外边

 

案例

  //求园的面积 pi*r的平方
    function getArea(r){
        //通俗版
        var pi=3.14;
        var a=pi*r*r;
        return a;

        //精简版
        var pi=Math.PI;
        var a=pi*Math.pow(r,2);
        return a;

        //最终版
        return Math.PI*Math.pow(r,2)
    }
    var area1=getArea(1);
    console.log(area1)

 

//求三个数中最大值
    function  fn(a,b,c) {
        var j=a>b? a: b;
        return j>c? j: c;
        //经典版
        return (a>b? a:b)>c?(a>b? a: b):c;
        
        if(a>b){
            if(a>c){
                return a
            }else{
                return c
            }
        }else if(d>c){
            return d
        }else {
            return c
        }
    }
    console.log(fn(1,3,5))

 

// 求阶乘   求1!+2!+3!+....+n!(函数嵌套)
        function getSumJC(number){
            function getJC(num) {
                var sumJC=1;
                for(var i=1; i<=num; i++){
                    sumJC *=i
                }
                return sumJC;
            }
            console.log(getJC(5));
     // 求阶乘的和 
            var sum = 0;
            for(var j=1;j<=number;j++){
                sum+=getJC(j);//求阶乘
            }
            return sum;
        }
    console.log( getSumJC(4))

 

// 判断一个数是不是质数
    //思路:除了自身和1以外,不能被(被除数是本身)其他数整除
   //注意点
   // 1.必须用for循环实现
   //2、判断是不是质数,所以它的返回值应该是true或者false.
   //3、如果num%i===0了,那么一定不是素数,只有除了1和自身以外所以的数都不能整除,
   // 不能被所以数整除才是质数
    //拓展部分
   //判断一个数是不是质数,只需要判断他的平方根,超过平方根的在判断,无意义。
   //英文一个数是有俩个数相称得到的,一个变大,另外一个必然变小,
   // 那么判断到这个数的平方根就已经的极限了,不必超过平方根
  function fn(num) {
      var bool=true; //开闭原则
      
      for(var i=2; i<num/2; i++){
       //拓展2:for(var i=2; i<num/2; i++){
       //拓展3:for(var i=2; i<Math.sqrt(num); i++){
          if(num%i===0){
              bool=false;
          }
      }
          return bool
  }
console.log(fn(7))

 

 
posted @ 2017-08-08 18:17  Me*淡定  阅读(191)  评论(0编辑  收藏  举报