阿里万网怎么做网站百度识图网页版
函数(上)
- 一、什么是函数?
- 二、好处
- 三、函数的分类
- 四、函数的类型
- 五、函数的声明
- 1.语句定义法:任意位置都可调用
- 2.表达式定义法:只能先声明,后调用
- 六、调用函数
- 七、函数的参数
- 1.实际参数(实参):
- 2.形式参数(形参):
- 八、函数的返回值
- 九、事件相关概念
- 绑定事件的语法:
- onload : 加载事件
- 表单
- 鼠标
- 键盘
一、什么是函数?
对于需要反复使用的功能代码,将其封装成一个独立的模块,这种功能代码块叫函数。
二、好处
- 程序可控。
- 一次封装,多次使用(复用)。
- 随处可调
<script>/**********
*******1 3
2 2
3 1
4 0*/fn();function fn(){var str = '';for(var i = 1;i < 5;i ++){for(var j = 1;j <= 4 - i;j ++){str += ' ';}for(var k = 1;k <= 2 * i - 1;k ++){str += '*';}str += '\n';}console.log(str);}fn();fn();fn();fn();</script>
三、函数的分类
- 内置(库、系统)函数
- 自定义函数
四、函数的类型
函数的类型是function。
<body><input type="button" id='btn'><script>var o_btn = document.getElementById('btn');console.log(typeof o_btn);//objectvar o_input = function fnInput(){alert('input');}console.log(typeof o_input);//function</script>
</body>
五、函数的声明
1.语句定义法:任意位置都可调用
function 函数名([参数]){//实现功能的代码
}
2.表达式定义法:只能先声明,后调用
var 函数名 = function([参数]){//实现功能的代码
}
注意函数名后面没有括号,就相当于声明一个变量,后面赋给什么样的值,就是什么类型的变量。
<script>/**********
*******1 3
2 2
3 1
4 0*/function fn(){var str = '';for(var i = 1;i < 5;i ++){for(var j = 1;j <= 4 - i;j ++){str += ' ';}for(var k = 1;k <= 2 * i - 1;k ++){str += '*';}str += '\n';}console.log(str);}// fnStar();var fnStar = function(){var str = '';for(var i = 1;i < 5;i ++){for(var j = 1;j <= 4 - i;j ++){str += ' ';}for(var k = 1;k <= 2 * i - 1;k ++){str += '*';}str += '\n';}console.log(str);}console.log(fnStar());</script>
六、调用函数
- 一般调用:函数名([参数])
- 事件调用
七、函数的参数
1.实际参数(实参):
调用函数时使用的参数,可是常量,变量、表达式
2.形式参数(形参):
定义函数时使用的参数,只能是变量。
注:
当实参数量多于形参数量时,多于的实参忽略
当实参数量少于形参数量时,多余对的形参值为undefined
<script>//n的阶乘fnFac(5,6,7); //实参//当实参数量多于形参数量时,多于的实参会忽略function fnFac(n){ //n 形参var fac = 1;for(var i = 1;i <= n;i ++){fac *= i;}alert(fac);}//当实参数量小于形参时,多于的形参值为undefinedfunction fn(a,b,c){console.log(a,b,c);}fn(1);</script>
八、函数的返回值
return:
- 将函数的处理结果返回到调用该函数的地方
- 退出函数。
<script>//求 100-999 之间的水仙花数。abc =a^3 + b^3 + c^3//123 23 2.3 2function fnFlower(){var str = '';for(var i = 100;i < 1000;i ++){var b = parseInt(i / 100);var s = parseInt(i % 100 / 10);var g = i % 10;if(i === b * b * b + s * s * s + g * g * g){str += i + ' ';}}return str;alert('呵呵');}console.log(fnFlower());</script>
九、事件相关概念
<div id="box"></div><script>//获取页面元素对象//get : 得到,获取//element : 元素//by : 通过。。。。//document.getElementById() : 通过id属性获取到指定的元素对象。var o_div = document.getElementById('box'); // alert(o_div); //'[object HTMLDivElement]'//给div添加事件o_div.onclick = function(){console.log('我点击了鼠标');}/*o_div : 事件监听的对象click : 点击事件(名词)onclick : 事件驱动(动词)function(){} : 事件处理程序对象.事件驱动 = 事件处理程序*/</script>
绑定事件的语法:
对象 . 事件驱动 = 事件处理程序
onload : 加载事件
表单
onfocus : 得焦事件
onblur : 失焦事件
onchange : 改变事件
鼠标
onclick :点击事件
ondbclick : 双击事件
onmousedown : 鼠标按下事件
onmouseup :鼠标弹起事件
onmouseover : 鼠标移入事件
onmouseout :鼠标移出事件
onmouseenter : 鼠标移入事件
onmouseleave :鼠标移出是事件
键盘
onkeydown :键盘按下事件
onkeyup : 键盘弹起事件
onkeypress : 键盘按过事件