xuxiang946210

JavaScript基础05

函数参数的校验

/**
* @判断参数是否为数字类型
* @参数,一个参数
* @返回值, 如果参数是数字类型返回true,否则返回false
*/
function isNumber(num){

 // 1. 第一版,把条件拆开判断

 // 判断num是否是什么数据类型
 if(typeof num !== 'number') {
   console.log('num不是数值类型')
   return false;
}
 // // 判断num是不是NaN
 if(isNaN(num)){
   console.log('num是NaN!不能参与判断!');
   return false;
}

 // // 如果上面两个分支的判断,可以知道num是数字类型,也不是NaN,那么num就是有效数字
 return true;

 // 2. 第二版,只判断num是否是有效数字,可以把条件写在一起
 if(typeof num !== 'number' || isNaN(num)){
   return false
}else{
   return true
}

 // 3. 第三版
 return !(typeof num !== 'number' || isNaN(num))
 // typeof NaN 'number' !== 'number' || isNaN(NaN)
}

函数中调用其他函数

 function f1(a) {
       console.log("f1函数"+a*2);
    }

     function f3(){
       console.log('f3函数');
    }

     // f1,f3在f2中被调用了!
     function f2(num) {
       console.log("f2函数"+num);
       // 调用f1函数, num形参,可以理解为函数内部的局部变量
       f1(num);
       f3()
    }

     // 变量可以作为实参
     var count = 20
     f2(count);

函数参数的默认值

  function f1(x,y){
   return x*y
}
 f1(10,20)
 // 当没有给y传实参的时候,y使用默认值1
 f1(10)

回调函数

将函数作为参数传给另一个函数

递归函数(了解)

  1. 递归概念

  2. 尾递归写法

  3. 案例-求和

  4. 案例-斐波那契数列

  5. 将来,数组讲完之后,多维数组拍平

  6. 数组和对象的深拷贝

posted on 2023-08-04 18:24  pocsan  阅读(5)  评论(0编辑  收藏  举报

导航