博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
call和apply的应用
阅读量:5040 次
发布时间:2019-06-12

本文共 436 字,大约阅读时间需要 1 分钟。

相同点

都能够改变方法的执行上下文(执行环境),将一个对象的方法交给另一个对象来执行,并且是立即执行
var arrayLike = {    0: 'item1',    1: 'item2',    2: 'item3',    length: 3,}Array.prototype.forEach.call(arrayLike,function (item) {  console.log(item)})

不同点

  • call方法从第二个参数开始可以接收任意个参数,每个参数会映射到相应位置的func的参数上,可以通过参数名调用,但是如果将所有的参数作为数组传入,它们会作为一个整体映射到func对应的第一个参数上,之后参数都为空

  • apply方法最多只有两个参数,第二个参数接收数组或者类数组,但是都会被转换成类数组传入func中,并且会被映射到func对应的参数上

转载于:https://www.cnblogs.com/jerrypig/p/7723506.html

你可能感兴趣的文章
正规文法转化DFA
查看>>
敏捷开发(三)- 估算故事
查看>>
BZOJ2400 Spoj 839 Optimal Marks
查看>>
sqlserver in 和 exist 子查询
查看>>
bzoj 2730: [HNOI2012]矿场搭建
查看>>
本地及远程二级缓存
查看>>
机器学习(周志华)——学习笔记2
查看>>
使用ERStudio创建数据表与ER图
查看>>
ubuntu防火墙设置
查看>>
100步问题
查看>>
PLSQL Persistent State文摘
查看>>
对PostgreSQL中bufmgr.c的进一步学习
查看>>
PostgreSQL在何处处理 sql查询之四十四
查看>>
STL: reverse
查看>>
2017-10-15 NOIP模拟赛
查看>>
[学习笔记]设计模式之Proxy
查看>>
Asp.net MVC 中Ajax的使用 [分享]
查看>>
SQL SERVER 2008数据库的表中修改字段的数据类型后,不能保存
查看>>
java基础 (四)之集合
查看>>
单页网站不是梦,几款国外的单页网站创建工具
查看>>