参考:

  • http://rangercyh.blog.51cto.com/1444712/1615809
function foo(a,b) {
this.x = this.x + a + b;
}
//case 1:
var obj = {x:3};
foo.apply(obj,[1,2]);
//obj <==> {x:6} //case 2:
var obj = {x:3};
foo.call(obj, 1, 2);
//obj <==> {x:6} //case 3:
var obj = {x:3};
var foo1 = foo.bind(obj, 1, 2);
foo1();
//obj <==> {x:6}

区别:

call与apply的区别在于apply中传给foo的参数统一放到第二个参数数组中,call从第二个参数起皆为传给foo的参数;

call与bind的区别,call将立刻执行,bind返回一个新函数;

最新文章

  1. touch — 设定文件的访问和修改时间
  2. [Matlab] 如何在矩阵中查找特定的字符串
  3. loadrunner录制脚本如何选择使用get请求和post请求的方式
  4. C语言之实现控制台光标随意移动
  5. 根据当前IP获取当时所在信息
  6. There is no Action mapped for namespace [/pages/action/student] and action name [findStudent]
  7. 让Eclipse使用新版本的JRE
  8. python cookbook学习1
  9. dirty cow exp
  10. linux文件分割(将大的日志文件分割成小的)【转载】
  11. Centos7虚拟机桥接模式
  12. java类型转化
  13. 自动化测试基础篇--Selenium鼠标键盘事件
  14. ID绘图工具的使用5.29
  15. hive-client heap内存大小的配置优先级
  16. angular2 bootstrap modal
  17. fragment做成选项卡,tab效果。 fragment+RadioGroup
  18. leetcode 搜索插入位置
  19. 在jupyter notebook中运行R语言
  20. 使图片相对于上层DIV始终水平、垂直都居中

热门文章

  1. mysql重置密码
  2. 新书《编写可测试的JavaScript代码 》出版,感谢支持
  3. margin-top无效的问题解决方法
  4. IE浏览器中Image对象onload失效的解决办法
  5. Spring系列:学习Spring的资源和讨论
  6. knockoutJS学习笔记04:监控属性
  7. @Autowired的使用
  8. linux shell if
  9. poj 3680 Intervals
  10. 认识和使用NSOperation