JavaScript中的函数

函数的定义方式

函数声明方式(命名函数)

function fn(){};

函数表达式(匿名函数)

var fun = function(){};

new Function()

var fun = new Function('a', 'b','console.log(a + b)');
fun(1,2) //3

函数内this的指向

这些this的指向,是当我们调用函数的时候确定的。调用方式的不同决定了this的指向不同,一般指向我们的调用者。

一个普通标题 一个普通标题
普通函数调用 window
构造函数调用 实例对象
对象方法调用 该方法所属对象
事件绑定方法 绑定事件对象
定时器函数 window
立即执行函数 window

几种改变函数内this指向的方式

call

apply

bind

高阶函数