JavaScript 中的 Function.prototype.bind
2017-04-08 23:20
363 查看
bind()是ES5中新增的方法,我们可以在ES3中模拟实现bind()方法。
ps: function f(y){return this.x+y}; var o={x:1}; var g=f.bind(o); g(2);//=>3 //通过调用g(x)来调用o.f(x)我们在Function.prototype中定义一个b方法,使所有的function可以使用我们自己定义的b方法。
Function.prototype.b = function(scope) { var fn = this; alert(this)//function f(){alert("nihao");} return function() { return fn.apply(scope); }; } function f(){alert("nihao");} var o={}; var g=f.b(o); g();在实现b方法的时候alert(this),会弹出调用b方法的函数,由此可见bind的实现过程是传入你想要被绑定的方法,并且在函数体内实现闭包返回一个由apply实现的函数调用
相关文章推荐
- 【javascript】关于Function.prototype.bind
- javascript Function.prototype.bind
- 理解javascript中的Function.prototype.bind的方法
- 理解 JavaScript 中的 Function.prototype.bind
- 理解javascript的 Function.prototype.bind
- 理解 JavaScript 中的 Function.prototype.bind
- 理解 JavaScript 中的 Function.prototype.bind
- 浅析 JavaScript 中的 Function.prototype.bind() 方法
- 理解 JavaScript 中的 Function.prototype.bind
- 理解 JavaScript 中的 Function.prototype.bind
- JavaScript笔记2--Function.prototype.bind动态绑定函数
- 理解 JavaScript 中的 Function.prototype.bind
- JavaScript中的Function.prototype.bind()方法简介
- 理解 JavaScript 中的 Function.prototype.bind
- 理解 JavaScript 中的 Function.prototype.bind
- 理解 JavaScript 中的 Function.prototype.bind
- 理解javascript中的Function.prototype.bind的方法
- 面向对象的JavaScript-007-Function.prototype.bind() 的4种作用
- 浅析 JavaScript 中的 Function.prototype.bind() 方法
- 理解 JavaScript 中的 Function.prototype.bind