因为object没有某个方法,但是别的对象有,可以借助apply或call像别的对象借方法来操作。

猫吃鱼,狗吃肉,奥特曼打小怪兽。

有天狗想吃鱼了

猫.吃鱼.call(狗,鱼)

狗就吃到鱼了

猫成精了,想打怪兽

奥特曼.打小怪兽.call(猫,小怪兽)

call需要把参数按顺序传递进去,而apply则是把参数放在数组里。

  • 明确知道参数数量时,用call;
  • 而不确定的时候,用apply把参数放在数组里传递进去。

call和apply其实是同一种东西,区别只是参数不同。call其实是apply的语法糖。

方法一:
function concat(arr1, arr2) {return arr1.concat(arr2);
}方法二:用apply
function concat(arr1,arr2){var newArr = arr1.slice(0);[].push.apply(newArr,arr2);return newArr;
}

更多专业前端知识,请上 【猿2048】www.mk2048.com

JS中apply和call的应用和区别相关推荐

  1. JS中apply和call的联系和区别

    以下内容翻译自stackoverflow 链接: http://stackoverflow.com/questions/7238962/function-apply-not-using-thisarg ...

  2. css里面的let,js中let和var定义变量的区别

    javascript 严格模式 第一次接触let关键字,有一个要非常非常要注意的概念就是"javascript 严格模式",比如下述的代码运行就会报错: let hello = ' ...

  3. js中的typeof 与typescript typeof的区别

    js中的typeof 与typescript typeof的区别 在 JavaScript 中,typeof 是一个运算符,用于返回一个值的数据类型.它可以返回下列字符串中的一个: "und ...

  4. javascript中apply、call和bind的区别

    在JS中,这三者都是用来改变函数的this对象的指向的,他们有什么样的区别呢. 在说区别之前还是先总结一下三者的相似之处: 1.都是用来改变函数的this对象的指向的. 2.第一个参数都是this要指 ...

  5. js中innerHTML与innerText的用法与区别【转自http://blog.sina.com.cn/johnpu】

    用法:SupeSite/X-Space官方站%x-ZP$k?'DWZ_{ SupeSite/X-Space官方站K?_/T9s3^QJ a4X <div id="test"& ...

  6. html事件中写js,html标签中绑定触发事件与js中绑定触发事件写法上的区别

    html> js中方法名后加括号和不加口号的区别 按钮 var test = function(){ var span = document.createElement("span&q ...

  7. js中 NaN、 null 及 undefined 的区别(转载)

    NaN:保留字(表明数据类型不是数字) undefined:对象属性或方法不存在,或声明了变量但从未赋值. 即当你使用了对象未定的属性或者未定义的方法时或当你声明一个变量,但你确从未对其进行赋值,便对 ...

  8. JS中RHS引用和LHS引用的区别

    平时做前端开发的时候可能接触不到LHS和RHS这两个名词,但是它却是js中最基础的概念,表示两种变量的查找方式,在js代码中无处不在.我们来举个例子说明一下LHS和RHS. var a = 1:  我 ...

  9. JS中对象用点(.)和方括号([])的区别

    在JS中,我们取对象的属性值一般都是用点(.)表示,如Person.name,Person.age,但是有时候也会遇到Person[name]这种,那么他们具体有什么区别呢? 用例子展示: 1.中括号 ...

最新文章

  1. mysql序列号生成_一文看懂mycat的6种全局序列号实现方式
  2. 从310到蚂蚁森林,蚂蚁金服在线图计算的创新与实践
  3. php推送mip示例,首页—mip推送软件—首页
  4. 自动垃圾回收学习笔记-我们为什么需要自动垃圾回收
  5. 实战开发,使用 Spring Session 与 Spring security 完成网站登录改造!!
  6. 成语小秀才小程序V2.0.14完整安装包+小程序前端,小程序吸粉引流源码
  7. 虚妄的奇迹,血泪的现实——记Fateamp;n…
  8. jquery省市县三级导航栏
  9. 图标旋转html,如何使用CSS实现鼠标上移图标旋转的效果
  10. ipa文件如何下载安装OR如何设置IPA文件下载链接
  11. html,css,js 实现树形菜单栏
  12. 牛客每日练习----分元宵,送分啦-QAQ,字符串的问题
  13. kuberntes集群不能解析service ip故障排查记录
  14. 西安长安茶馆/金领女子书院环境怎么样?路线怎么走?
  15. JAVA蘑菇西餐,蘑菇的二十二种西餐做法,简单易上手,让你品尝不一样的风味...
  16. 用 shader effect 实现雨滴落水效果!Cocos Creator 3D !
  17. 公众号选题方向有哪些?
  18. 充电枪cp信号控制板_通过充电枪CP信号控制常电输入的电路的制作方法
  19. 新邮政法规定:邮政企业对平常邮件损失不赔偿
  20. 40岁贬值的女人,20岁也未必有太大…

热门文章

  1. mysql 更改root密码及 主机_设置更改root密码(远程,本地)、连接mysql、mysql常用命令...
  2. java随机数函数_java随机函数详解
  3. GPU下train 模型出现nan
  4. ZOJ 1586 QS Network
  5. 使用Amalgamate将C/C++项目合并成一个.h/.c[pp]文件
  6. eclipse 代码上传github 笔记
  7. java基础(第七章课后作业)03
  8. CSDN论坛上的一道算法题
  9. web策略类游戏开发(四)一个可以承载万人在线的架构
  10. linux shell 脚本 supress,《linux Shell 脚本攻略》进阶学习(第一部分)