实现特定功能的n条语句的封装体,只有函数是可以执行的,其他类型的数据不能执行。
为什么要使用函数
提高代码复用,便于阅读交流
如何定义函数
- 函数声明
function fn1() {// 函数声明}
- 表达式
var fn2 = function() {// 表达式}
如何执行函数
- test(): 直接调用
- obj.test(): 通过对象调用
- new Test(): new 调用
- test.call/apply(obj): 临时让test成为obj的方法进行调用,指定上下文环境。可以让一个函数称为任意对象的方法进行调用。
回调函数
常见的回调函数:
- dom 事件回调函数
- 定时器回调函数
- ajax请求回调
- 生命周期回调
IIFE
全称:Immediately-Invoked Function Expression
作用:
- 隐藏实现
- 不会污染外部(全局)命名空间
(function() { // 匿名函数自调用
console.log('...')
})()
函数中的this
任何函数本质上都是通过某个对象来调用,所有函数内部都有一个变量叫this,它的值是调用函数的当前对象。