• 函数相关概念,及练习


    01.函数

    函数——> 工具!!!!

    工具:

    1. 重复性利用!

    2. 隐藏内部细节

    3. 选择性应用

    1.函数

    具有特定功能的代码块

    2.函数定义的方法:

    1:关键字

    function 函数的名称(){

    }

    2:字面量写法:

    var 函数名 = function(){

    }

    3:构造函数的写法:(构造函数)

    var 函数名 = new Function("参数","执行的代码");
    //var fn = new Function("","console.log(111)");

    注意:

    1:函数是不能自己执行的,需要调用

    2:可以重复利用

    3.函数的调用方法

    1:事件驱动(单击、双击、滑过、离开、按键.....)

    常用的事件:

    鼠标事件:

    单击事件: onclick

    双击事件: ondbclick;

    鼠标划入: onmouseover;

    鼠标划出 : onmouseout;

    鼠标滚轮(滚动、单击): onmousewheel;

    鼠标的移动: onmousemove;

    键盘:

    按下某个键不松开 : onkeydown;

    抬起某个键: onkeyup;

    按下并抬起来: onkeypress;

    输入框:

    获取焦点: onfocus;

    失去焦点: onblur;

    改变输入框的内容: onchange;

    2.自调用 函数名();

    02.函数体验

    1.打印多个99乘法表
    function print(){
       for(var i = 1 ; i <= 9 ; i++){
           for(var k = 1 ;k <= i ; k++){
               document.write(j + " * " + i + "=" + i * j + "&nbsp;&nbsp;&nbsp;");
          }
           document.write("<br><br>");
      }
    }
    print();
    print();
    print();
    2.封装一个打印5行5列表格的方法(100以内的随机数)
    function printTable(){
       document.write("<table>");
       for(var i = 0 ; i < 5 ; i++){
           document.write("<tr>");
           for(var j = 0 ; j < 5 ; j++){
               document.write("<td>" + parseInt(Math.random() * 100) + "</td>");
          }
           document.write("</tr>");
      }
       document.write("</table>");
    }
    printTable();
    printTable();
    printTable();

    03.参数

    1.参数:

    参数分为两种:形参、实参

    形参:函数在定义的时候,在函数名称里面的()里面的变量,称作形参

    实参:函数在定义的时候,()里面传递的值为实际参数

    2.函数中参数的意义:

    1:使函数功能更加灵活

    2:增强了函数重复性应用

    3.形参

    1:在函数定义的时候,放在()里面的

    2:在定义多个形参的时候,逗号隔开

    3:形参完全符合变量的原理,如果只定义,接受不到赋值,返回的是undefined

    4.实参

    1:在函数调用的时候,()内传递的参数

    2:实参和形参一一对应

    1.打印名称!
    function printName(userName,age,sex){
       console.log("我是" + userName +"今年" + age + "岁,性别" + "sex");
    }
    printName("张三",20,"男");
    printName("ld",10,"男");
    2.封装一个打印表格的方法( m行  n列
    function printTable(m,n){
       document.write("<table>");
       for(var i = 0 ; i < m ; i++){
           document.write("<tr>");
           for(var k = 0 ; k < n ; k++){
               document.write("<td>" + parseInt(Math.random() * 10) + "</td>");
          }
           document.write("</tr>");
      }
       document.write("</table>");
    }

    printTable(5,5);
    printTable(10,10);
    printTable(10,20);

    04.函数案例

    导入自己封装的函数:

    myApi.js
    //n,m之间的随机数
    function randomNum(n,m){
       return parseInt(Math.random() * (m - n + 1) + n);
    }
    1.写一个功能,传入一个数字,计算数字的平方。Math.pow
    function num(i){
    console.log(Math.pow(i,2));
    }
    num(3);
    2.定义一个加法功能,传入一个数字,计算从1到该数字整数的和
    function add(n){
       var sum = 0;
       for(var i = 1 ; i <= n ; i++){
           sum += i;
      }
       console.log(sum);
    }
    add(4);
    3.定义一个功能,传入两个数字m,n(m<n),随机生成m-n之间的随机整数   Math.random
    分析:
    //打印包含3-8之间的数,包括3,和8,
    //n-m是代表n到m之间,加1是为了包含8,+m是为了确定范围的最小值。
    function randomNum(m,n){
       var a = parseInt(Math.random() * (n - m + 1) + m);
       console.log(a);
    }
    randomNum(3,8);
    4.编写有一个函数,计算两个数字的和差积商
    function operation(num1,num2,sign){
       switch(sign){
           case "+" : console.log(num1 + num2);
               break;
           case "-" : console.loe(num1 - num2);
               break;
           case "*" : console.log(num1 * num2);
               break;
           case "/" : console.log(num1 / num2);
               break;
           default : console.log("请重新输入.....");
      }
    }
    operation(3,6,"*");
    operation(8,2,"/");
    5.编写一个函数,判断三个数字的大小,按从小到大的顺序输出
    function compare(num1,num2,num3){
       var items = 0;
       if(num1 > num2){
           items = num1;
           num1 = num2;
           num2 = items;
      }
       if(num1 > num3){
           items = num1;
           num1 = num3;
           num3 = items;
      }
       if(num2 > num3){
           items = num2;
           num2 = num3;
           num3 = items;
      }
       console.log(num1,num2,num3);
    }
    compare(34,59,3);
    6.编写函数,判断一个字符串的内容是不是纯数字
    function isNumber(str){
       if(Number(str) == str){
           console.log("数字");
      }else{
           console.log("非数字");
      }
    }
    isNumber("23232");
    7.编写一个函数,在页面上输出一个n行m列的表格,并且放入10-100的随机数
    function createTable(n,m){
       document.write("<table>");
       for(var i = 0 ; i < n ; i++){
           document.write("<tr>");
           for(j = 0 ; j < m ; j++){
               document.write("<td>" + randomNum(10,100) + "</td>");
          }
           document.write("</tr>");
      }
       document.write("</table>");
    }
    createTable(10,6);

    05.函数的返回值

    return 函数的返回值

    1. 函数一般都存在一个返回值

    2. return只能出现在函数里面

    3. return能终止程序往下执行(类比break;)

    4. 一个函数只能有一个返回值

    5. 如果函数没有写return,默认返回undefined;

    eg:
    function fn(num1,num2){
       var res = num1 * num2;
       return res;
    }
    console.log(fn(3,5));
    判断一个数值是否为合格的年份:
    function isYear(year){
       if(parseInt(year) != year){
           return "此数不是合格的年份1";
      }
       if(year < 0){
           return "此数不是合格的年份2";
      }
       return "合格";
    }
    alert(isYear(111));

    总结(终止程序往下执行)

    break 出现在循环和switch

    continue 出现在循环里面

    return 出现在函数里面

  • 相关阅读:
    Java Web学习笔记---用GET实现搜索引擎
    Docker之docker log详解
    Docker之save、load、export、import命令
    Docker之镜像地址
    GIT使用详解
    Docker之commit制作镜像
    Python之sys.arg[]的用法解释
    python常用内置函数
    VBA精彩代码分享-1
    C#读写EXCEL单元格的问题
  • 原文地址:https://www.cnblogs.com/ljp1997/p/11432441.html
Copyright © 2020-2023  润新知