函数相关概念,及练习

Posted ljp1997

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数相关概念,及练习相关的知识,希望对你有一定的参考价值。

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

以上是关于函数相关概念,及练习的主要内容,如果未能解决你的问题,请参考以下文章

JS预编译及相关练习

函数部分相关练习题及解答

11-22-数组

JavaScript内置对象及相关练习(math对象,date对象,string对象,array对象)

类的相关内置函数及反射

web前端练习28----Dom4,事件(事件对象,事件冒泡,事件委派,事件传播,事件绑定,事件移除及案例练习)