函数
1.什么是函数
将需要反复使用的功能代码,封装成独立的模块,这个模块就是函数.
2.使用函数的好处?
- 可复用(可重复使用)
- 功能代码可控
3.函数的分类
- 内置函数 (js给我们提供的)
- 自定义函数 (自己定义)
4.函数的类型
Function
5.如何声明函数
5-1.语句定义法(在任意位置都可以调用)
function 函数名([参数]){
//功能代码
}
5-2.表达式定义法(只能先声明后调用)
var 函数名 = function([参数]){
//功能代码
}
6.如何调用函数
- 一般调用: 函数名([参数])
- 事件调用 触发事件后调用函数
7.函数的参数
形式参数(形参):定义函数时所传递的参数
实际参数(实参): 调用函数时所传递的参数
注意:
-
参数传递: 只能将实参 传递给形参,即单向传递
-
形参只能是变量; 实参可以是变量,常量,表达式
-
实参的数量 小于形参的数量时,多余的形参值为undefined
实参的数量 大于形参的数量时,自动忽略多余的实参
函数的返回值
- 将函数内部处理后的结果返回到调用该函数的地方
- 退出函数
- 如果没有返回值则返回undefined
- 返回值需要接收才能用,1.要么给它一个变量 2.要么直接输出
问题:
- 个变量只声明不赋值 值是undefined 类型也是undefined
- 报错 没有声明变量 直接使用 b is not defined
function fn (a,b) {
return a+b
}
fn(3,8)
//第一种方式
var s = fn(3,8);
console.log(s);
//第二种方式
console.log(fn(3,8));
事件
事件是鼠标或键盘的动作.如:点击,双击,移入,移出,移动,按下,弹起,获取焦点,失去焦点…
事件驱动: 监听动作 onclick ,ondblclick,onkeyup,onkeydown,onmousemove,onblur…
事件处理程序: 事件触发后所调用的函数
1.语法:
对象.事件驱动=事件处理程序
如:
document.onclick=function(){
}
var oDiv =document.getElementById("box");
// oDiv.onclick = function(){
// alert("呵呵")
// }
/*
事件对象 oDiv
onclick 事件驱动
事件处理程序 function(){}
*/
// oDiv.οndblclick=function(){
// alert("双击");
// }
// oDiv.onmouseover = function(){
// alert("移入")
// }
// oDiv.onmouseout = function(){
// alert("移出");
// }
// oDiv.onmousemove =function(){
// alert("移动")
// }
// oDiv.οnmοusedοwn=function(){
// alert("按下");
// }
// oDiv.onmouseup = function(){
// alert("弹起")
// }
// oDiv.οnmοuseenter=function(){
// alert("enter")