说说 JavaScript中 call和apply
2024-10-19 04:38:47
下面有关JavaScript中 call和apply的描述,错误的是?
call与apply都属于Function.prototype的一个方法,所以每个function实例都有call、apply属性
两者传递的参数不同,call函数第一个参数都是要传入给当前对象的对象,apply不是
apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入
call传入的则是直接的参数列表。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。
正确答案: B 。
call()方法和apply()方法的作用相同,他们的区别在于接收参数的方式不同。对于call(),第一个参数是this值没有变化,变化的是其余参数都直接传递给函数。(在使用call()方法时,传递给函数的参数必须逐个列举出来。使用apply()时,传递给函数的是参数数组)如下代码做出解释: function add(c, d){
return this.a + this.b + c + d;
}
var o = {a:1, b:3};
add.call(o, 5, 7); // 1 + 3 + 5 + 7 = 16
add.apply(o, [10, 20]); // 1 + 3 + 10 + 20 = 34
解析
本题目解析来自牛客网 Tomhu的回答
最新文章
- [C#] 简单的 Helper 封装 -- RandomHelper
- Splash页面跳转主页面,去掉主页面标题栏
- IBatis 批量插入数据之SqlBulkCopy
- C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 标准省市县数据的公司选择窗口实现
- 基于MapReduce的关系代数运算(1)
- phpstorm一个窗口打开多个项目
- Java bit、byte、位、字节、汉字、字符
- 侧滑RESideMenu的使用
- ffmpeg在Win7 VS2010中debug通过,release出错的问题解决方法
- C#的百度地图开发(四)前端显示与定位
- 【j2ee spring】30、巴巴荆楚网-综合hibernate4+spring4(5)分页
- CSUOJ 1299 - Number Transformation II 打表预处理水DP
- 《割绳子》《蜡笔物理学》《Contre Jour》《顽皮鳄鱼爱洗澡》等游戏用Box2D引擎实现物理部分的方法(转)
- ural1494 Monobilliards
- 给dao层注入jdbcTemplate时的一个强行bug(jdbcDaoSupport不要随便用!用了要记得!)
- [转帖]整理:Windows系统下的奇技淫巧大汇总
- 进程&;线程&;协程
- Servlet接口、GenericServlet类、HttpServlet类
- Django的AutoField字段
- C++ namespace的用法