函数相关概念,及练习

大憨熊 提交于 2019-11-28 22:59:34

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.powfunction 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 出现在函数里面

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!