function add(c,d){
return this.a + this.b + c + d;
} var s = {a:"鸡", b:"你"};
console.log(add.call(s,"太","美")); // 鸡你太美
console.log(add.apply(s,["太","美"])); // 鸡你太美

两者区别:

call(this,1,2,3,4):一个是函数运行的作用域(this),另一个是必须列举出来的参数。

apply(this,arguments):一个是函数运行的作用域(this),另一个是参数数组。

两者相同点:

1、都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域;

2、this总是指向调用某个方法的对象,当你使用call()和apply()方法时,就会改变this的指向,具体指向谁,由你做主。

最新文章

  1. 压缩javascript文件方法
  2. jdk顺序表笔记
  3. pem转换成der
  4. Android资源文件简介
  5. nodejs笔记四--创建一个最简单的 express 应用
  6. netbeans设置字体
  7. RMQ with Shifts
  8. Hadoop Hive sql语法详解
  9. Epii.js 一个极其简单的Js模板引擎
  10. Mybatis源码之Statement处理器PreparedStatementHandler(五)
  11. win10.64位wnmp-nginx1.14.0 + PHP 5. 6.36 + MySQL 5.5.59 环境配置搭建 结合Thinkphp3.2.3
  12. P3150 pb的游戏(1)
  13. JAVA中字符串比较equals()和equalsIgnoreCase()的区别
  14. sql语句查询结果排序
  15. UiAutomator 代码记录: 随机创建新联系人
  16. 带状态论文粗读(三)[引用openstate的相关论文阅读]
  17. Java虚拟机15:运行期优化
  18. css的字体样式怎么写
  19. 解决MFC对话框类不能建立成功的方法(出现unable to open the files XX for class XX)
  20. 异常:Neither BindingResult nor plain target object for bean name 'command' available as request attribute

热门文章

  1. Python multiprocess模块(中)
  2. 【并行计算-CUDA开发】CUDA软件架构与Nvidia硬件对应关系
  3. NDK学习笔记-JNI开发流程
  4. activeMQ(1)
  5. python实用小功能
  6. arm-linux的gdb移植
  7. 【Python】if __name__ == '__main__' 含义解析
  8. Kafka主题体系架构-复制、故障转移和并行处理
  9. 线程的同步控制synchronized和lock的对比和区别
  10. [SDOI2011]消耗战 题解