js中的改变this指向函数 apply bind call
手写之前先看看call,apply,bind的使用和效果
1 | const Person = { |
手写
- call函数
1 | Function.prototype.myCall = function (obj, ...args) { |
- apply函数
1 | Function.prototype.myApply = function (obj, args) { |
- bind函数
1 | Function.prototype.myBind = function(obj,...arg1) { |
apply, call, bind函数还有一些细节,这里只是做一个简单的实现 可以达到相同的效果,并没有对边界值进行分析
- bind完整版(bind之后的函数当作构造函数,有点晕)
1 | //bind完整版 |
// 关于bind的一道题 :
请手写实现 ES5 中 Function 原型的 bind(即手写下面代码块中的myBind) 方法,使得以下程序最后能输出 'success'。
1 | function Animal(name, color) { |
开始吧,兄弟~ 其实也不难:
1 | function Animate(name, color) { |
