函数
一、函数的概念、特性及特点
1.概念
函数是由事件驱动的或者当他被调用时可执行的可重复使用的代码块
2.特性
封装:
将实现某个功能的 代码放在一起,类似放在容器中,调用这个容器即可使用这段代码的功能
抽象:
根据某物体的功能或特点抽象出来形成一个名词。俗称起名
函数也可以看做是一种变量,里面的值是一段功能代码
3.特点
选择使用:可以选择需要使用那些功能
重复使用:可以重复调用这个函数
忽略细节:只需要使用函数,不需要了解其内部如何实现的
二、函数的创建
1.声明式创建
function fu() {}
function //声明关键字,指出这是一个函数
fn() { //函数名,类似于用来存储函数的变量
//函数需要接受的参数,多个参数用“,”隔开
} //函数内的执行语句,函数体,函数的功能代码
2.赋值式创建
var fn = function() {};
//这种方式下,虽然这个函数没有名字,但是这个函数赋值给了fn,因此通过变量fn也能调用到这个函数
三、函数的简单分类
1.有名函数
function fn() {}
//声明式创建的函数,正常函数,正常执行,正常使用
2.无名函 数
1)可以作为值存在:赋值给一个变量,那么就变成了赋值式创建函数
2)可以作为行为处理函数,又叫事件触发函数
obox.onclick = function() {};
3)可作为实参存在:叫做回调函数
将函数fn2作为参数,传到另一个函数fn1中,在函数fn1中执行函数fn2,那么作为参数的函数fn2就是回调函数
function fn1(cb) {
//fn1接收到作为参数的函数fn2
cb(1, 2, 3); //调用fn2来执行
}
function fn2(a, b, c) {
//这就是回调函数
console.log(a + b + c); //6
}
fn1(fn2); //将函数fn2传给函数fn1
3.匿名函数
(function() {})();
//通常会在匿名函数前后都加分号";",防止和上一行的代码连接出现bug
//匿名函数不需要调用立即执行,和没写函数时直接执行代码差不多
//主要用于创建一个大范围的作用域,减少全局变量
四、函数的执行
1.一般函数执行
var fn = function(){};
函数名+();//不能丢掉括号
例:fn();//函数名+小括号就会立即执行函数