JS . DAY05笔记

109 阅读2分钟

- 函数

一、什么是函数

  1. 函数是一个工具,把同一种功能的代码放在一起
  2. 函数需要被使用
  3. 封装性+复用性

二、函数的分类

  1. 系统函数
  2. 自定义函数

三、函数的语法

        function 函数名 (参数)//参数可有可无且必须是一个变量 {     功能是怎么实现的         }

  1. 函数声明的地方叫做形参
  2. 函数调用的地方叫做实参

四、函数封装的步骤

  1. 普通的实现这个功能
  2. 利用function装一个壳子
  3. 取函数名 命名规则和变量声明一样
  4. 考虑是否需要参数,参数可有可无
  5. 一定要调用函数
  6. 附上说明书 函数的功能和参数的说明

五、return

  1. 函数有的会得到一个结果。如Math.random()有的不会的结果如alert()这个结果就叫返回值
  2. 函数的返回值是函数执行的结果,函数的返回值也是可有可无的
  3. return的作用: 给函数一个结果 提前结束整个函数,return后的代码永远不会执行

六、局部变量

  1. 函数内的局部变量 从函数外无法访问

七、onclick = function(){

}是事件处理函数---函数只能被点击时候调用(系统调用)

八、一些函数封装

// 作用:封装一个获取元素的函数
// 参数: number id名 通过id名获取对象
// 返回值:获取的对象
function get(id){
    // id 为变量 变量不能打引号
    return document.getElementById(id);
}


// 作用:封装一个生成 min - max 之间的随机数的函数
// 参数:min:number 随机数区间的最小值 
//      max: number 随机数区间的最大值
// 返回值: number 一个min - max之间的随机数
function suiji(min,max){
    var m = Math.floor(Math.random()*(max - min) + min);
    return m;
}

// 作用:封装一个判断质数的函数
// 参数:number
// 返回值:boolean
function isZhi(n){
    for(var i = 2; i < n; i++){
        if(n % i === 0){
            // 当i能被整除时,即i不是质数,return返回值为false,且结束函数
            return false;        
        }
    }
    // 当循环全部正常循环结束,即i是质数,return返回值为ture,且结束函数
    return true;
  
    
}

// 作用:封装一个计算机函数calc,用来进行简易计算
// 参数:a : number 
//      b : number 
//      f  : string 符号
// 返回值: number
function calc(a,b,f){
    switch(f){
        case "+": return a*1 + b*1;
        case "-": return a - b;
        case "*": return a * b;
        case "/": return a / b;
    }
}

//封装一个isRun()函数
//作用:用来判断一个年份是不是闰年
//参数:year numbre 输入一个年份
//返回值:boolean
function isRun(year){
    // 判断是否是闰年
    if(year % 4 === 0 && year % 100 != 0 || year % 400 ===0){
        return true;
    }    
    return false;
    
} 

//封装一个函数,
//作用:判断日期是否合法
//参数: y number 年份
//     m  number 月份 
//     d  number 日期
//返回值:boolean
function isData(y,m,d){
    var a ,b, c ;
    // 判断年份是否输入正确为1000-2000之内
    if(y >= 1000 && y <= 2000 && y % 1 ===0 ){
        //判断月份1-12
        if( m>=1 && m<=12 && m % 1 ===0){

            // 日期的变化会随着月份改变 默认ed为31天
            var ed = 31;
            if(m === 4 || m === 6 || m === 9 || m === 10 ){
                ed = 30;
            }
            // 判断二月份是否闰年
            if(m === 2){
                if(y % 4 === 0 && y % 100 != 0 || y % 400 ===0){
                    ed = 29;
                }
                else{
                    ed = 28;
                }
            }
        
            // 判断日期是否正确
            if(d >= 1 && d<=ed && d % 1 ===0 ){
                return "t";

            }
            return "c"

        }
        return "b"

    }

    return "a" }