bind是Function.prototype中内置函数
作用是指定函数作用域
代码参考 http://blog.csdn.net/load_life/article/details/7200381
var obj = { name: 'A nice demo', fx: function() { alert(this.name); } }; window.name = 'I am such a beautiful window!'; function runFx(f) { f(); } runFx(obj.fx); //将obj的fx函数传入到runFx函数中 runFx直接调用了obj.fx (由于runFx的执行环境是window) 也就是在window环境中调用obj.fx var fx2 = obj.fx.bind(obj); //使fx2的执行环境总是obj bind函数返回的是一个function runFx(fx2); //runFx调用的还是obj中的fx函数 不过该函数仍然是以obj为上下文(执行环境)的