一、学习目标
- 函数的定义和调用
- 函数this的指向
- 严格模式的特点
- 高阶函数(把函数作为参数和返回值传递)
- 闭包
- 递归
- 深拷贝和浅拷贝
1.函数的定义
- 1)命名函数:function fn() {}
- 2)匿名函数:var fn = function() {}
- 3)利用 new Function(‘参数1’,'参数2’,‘函数体’); //参数都是字符串形式
var fn = new Function()
示例:
var fn2 = new Function("console.log('我是new的函数')") //该参数是函数体
var fn2 = new Function('a','b',"console.log('你好呀' + (a + b) )") //前面的两个参数必须啊要用引号括起来
fn2(1,2) //你好呀3
注意:所有函数都是Function的实例,都是对象,函数也是对象
2.函数的调用
1.普通函数
function fn(){
console.log('普通函数')
}
fn();
fn.call();
2.对象的方法
var o = {
sayHi:function(){
console.log('对象函数');
}
}
o.sayHi();
3.构造函数
function Star(){};
new Star();
4.绑定事件函数
btn.onclick = function(){}; //点击了按钮就可以调用这个函数
5.定时器函数
setInterval(function(){} ,1000);
6.立即执行函数
(function(){
console.log('立即执行函数')
})();