目标
1.能够说出函数定义的多种方法和调用方式
2.能够说出和改变函数内部this的指向
3.能够说出严格模式的特点
4.能够把函数作为参数和返回值传递
5.能够说出闭包的作用
6.能够说出递归的俩个条件
7.深拷贝和浅拷贝的特点
- 函数的定义和调用、
- this
- 严格模式
- 高阶函数
- 闭包
- 递归
函数的定义方式
1.函数声明方式function关键字(命名函数)
function fn(){
}
2.函数表达式(匿名函数)
var fn = function(){
}
3.new Function
var fn = new Function('参数1','参数2','函数体'){
}
函数的调用方式
- 普通函数
- 对象的方法
var o = {
sayHi:funtion(){
console.log('...')
}
}
o.sayHi()
- 构造函数
- 绑定事件函数
- 定时器函数
- 立即执行函数
(function(){})()
//自己调用~
this指向
闭包
闭包(closure)指有权访问另一个函数作用域中变量的函数。
简单来说,就是一个作用域可以访问另一个函数内部的局部变量。
闭包的主要作用:延深了变量的作用范围
递归
递归:如果一个函数在内部可以调用其本身,那么这个函数就是递归函数。