请参考 http://www.cnblogs.com/xljzlw/p/3775162.html

1.call和apply的区别:参数类型不同
var mtt = {
name: "mtt",
sayHello: function (age) {
console.log("hello, i am ", this.name + " " + age " years old");
}
}; var xjs = {
name: "xjs ",
}; mtt.sayHello(24);// hello, i am zlw 24 years old apply参数需要是数组形式,而call参数需要用逗号隔开24,25
mtt .sayHello.call(xjs , 24);// hello, i am xjs 24 years old
mtt .sayHello.apply(xjs , [24]);// hello, i am xjs 24 years old bind方法传递给调用函数的参数可以逐个列出,也可以写在数组中。bind方法与call、apply最大的不同就是前者返回一个绑定上下文的函数
mtt .sayHello.bind(xjs)(24); //hello, i am xlj 24 years old
mtt .sayHello.bind(xjs)([24]); //hello, i am xlj 24 years old 2.bind
var bind = Function.prototype.call.bind(Function.prototype.bind);

var zlw = {
name: "zlw"
}; function hello () {
console.log("hello, I am ", this.name);
} bind(hello, zlw)() // hello, I am zlw
 

最新文章

  1. ffmpeg-201612[01,08,10,17,21,27,30]-bin.7z
  2. Sql 获取向上取整、向下取整、四舍五入取整的实例
  3. <if><else/></if> 语句
  4. 点击 Run 之后发生了什么?
  5. Java Lock
  6. 再次理解JavaScript原型链和匿名函数
  7. Method Swizzling 和 AOP 实践(转)
  8. linux内核驱动中_IO, _IOR, _IOW, _IOWR 宏的用法与解析
  9. AndroidStudio字体主题样式分享
  10. 使用MySQL的LAST_INSERT_ID--转
  11. (三)Android中Intent概念及应用
  12. string___assign
  13. [刷题]算法竞赛入门经典(第2版) 5-6/UVa1595 - Symmetry
  14. 安装mvn,jdk,rocketmq
  15. Mac从零配置Vim
  16. java stream 原理
  17. FirewallD 快速使用文档
  18. web 文件上传的几种方式
  19. vue+betterscrool实现横向弹性滚动
  20. MAC OS 更新GIT版本时遇到的问题

热门文章

  1. linux printf
  2. 电子地图/卫星地图下载并转存为jpg图片
  3. 用python实现一个简单的socket网络聊天通讯 (Linux --py2.7平台与windows--py3.6平台)
  4. VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)
  5. Linux基础命令---resizefs
  6. C/C++之Memcpy and memmove
  7. ACM题目————STL + 全排列
  8. Python Web学习笔记之socket套接字
  9. Python3 爬取微信好友基本信息,并进行数据清洗
  10. 在Android Studio中创建项目和模拟器