改变函数上下文
函数的上下文
http://www.nowcoder.com/questionTerminal/5e97b94794bd438f893137b2d3b28a6a
方法一:直接将fn挂载到obj对象上
function speak(fn, obj) { obj.fn = fn return obj.fn() }
方法二:使用apply
function speak(fn, obj) { return fn.apply(obj) }
方法三:使用call
function speak(fn, obj) { return fn.call(obj) }
方法四:使用bind
function speak(fn, obj) { return fn.bind(obj)() }