call,apply和bind的区别
2019-07-19 19:12
309 查看
原文链接:http://www.cnblogs.com/ll15888/p/11215283.html
对象.方法();
谁调用该方法this就指向谁、
call()语法:
call()精华:
让一个函数成为指定对象的方法进行调用。
Person.call(document); //等价于 document.Person(); 因此this就指向了括号里的document //方法.call(对象);
apply():
原理是一样,只是传参的形式不一样
apply是以数组的形式传参(arguments)
bind():
有返回值,需要return
let 新函数 = 函数.bind (obj); //新函数的this。会永久的指向obj,所以就是this被绑定了
手动实现一个bind方法:
Function.prototype.bind = function(target){ var fn = this; return function(){ fn.apply(target , arguments); } }
伪数组变真数组
Array.prototype.slice.call();
ES6中Array.from方法
转载于:https://www.cnblogs.com/ll15888/p/11215283.html
相关文章推荐
- call,apply,bind的联系与区别
- javascript中apply、call和bind的区别
- apply、call、bind区别、用法
- Javascript中call(),apply(),bind()的区别
- apply、call、bind区别、用法
- js---js中的继承方法call、bind、apply,以及三者之间的区别总结。
- apply、call、bind区别、用法
- 清晰明了搞懂 call、apply、bind 的区别
- JS中call、apply、bind大概区别
- js中call,apply和bind方法的区别和使用场景
- 函数的call、apply以及bind的作用与区别
- call、apply、bind的用法以及区别
- javascript中apply、call和bind的区别
- apply, call, bind在js中的区别
- javascript中apply、call和bind的使用区别
- call ,apply, bind区别
- javascript中apply、call和bind的区别
- javascript中apply、call和bind的区别
- JavaScript方法call、apply、caller、callee、bind的使用详解及区别
- javascript中apply、call和bind的区别