call,apply和bind的区别?
来源:互联网 发布:mac彻底删除office 编辑:程序博客网 时间:2024/06/05 00:26
apply和call都是为了改变某个函数运行时的上下文而存在的(就是为了改变函数内部this的指向);
如果使用apply或call方法,那么this指向他们的第一个参数,apply的第二个参数是一个参数数组,call的第二个及其以后的参数都是数组里面的元素,就是说要全部列举出来;
bind()–也是改变函数体内this的指向;
bind会创建一个新函数,称为绑定函数,当调用这个函数的时候,绑定函数会以创建它时传入bind()方法的第一个参数作为this,传入bind()方法的第二个及以后的参数加上绑定函数运行时本身的参数按照顺序作为原函数的参数来调用原函数;
bind与apply、call最大的区别就是:bind不会立即调用,其他两个会立即调用
三个的使用区别:
都是用来改变函数的this对象的指向的;
第一个参数都是this要指向的对象;
都可以利用后续参数传参;
bind是返回对应函数,便于稍后调用,apply、call是立即调用;
参考http://blog.csdn.net/a_dangdang/article/details/50986168
阅读全文
0 0
- call,apply和bind的区别?
- call apply 和 bind的区别
- apply、call和bind的区别
- call、apply 、bind的区别
- call,apply,bind的区别
- call、apply、bind的区别
- apply,call,bind的区别
- javascript中apply、call和bind的区别
- JavaScript中apply、call和bind的区别
- javascript中apply、call和bind的区别
- javascript中apply、call和bind的区别
- javascript中apply、call和bind的区别
- javascript中apply、call和bind的区别
- js中apply、call和bind的区别
- javascript中apply、call和bind的区别
- JavaScript之call,apply,bind方法的区别和共同点
- JavaScript中apply()、call()和bind()的相似与区别
- js中bind、call和apply的区别
- 03:均值
- python3中如何去掉print打印的换行
- Spring MVC整合Mybatis的相关配置
- 自治区域AS
- 小白的tesseract-ocr经验
- call,apply和bind的区别?
- Matlab出现On Startup: Error using eval undefined function 'workspacefunc' for input arguments of type
- 切换UI中不同的画布
- Zoj 2112 线段树套Treap
- java构造器能被重载,但是不能被重写?
- UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现
- 浮点数的定点化
- eclipse集成svn不提交.classpath.project和.prefs文件
- Ubuntu 16.04下安装64位谷歌Chrome浏览器