call、apply

简介: call、apply

//call和apply的区别

//Function.prototype.call和Function.prototype.apply区别仅在于传入的参数不同;

//apply接受两个参数,第一个是函数体内this对象的指向,第二个参数为一个带下标的集合


var func=function(a,b,c){
    console.log([a,b,c])
}
func.apply(null,[1,2,3]);

//call传入的参数数量不固定,跟apply相同的是,第一个参数也是代表函数体内的this指向,从第二个参数开始往后,每个参数被依次传入函数

var func2=function(a,b,c){
    console.log([a,b,c])
}
func2.call(null,1,2,3);
var obj1={
    name:"seven"
};
var obj2={
    name:"anne"
};
global.name="global";
var getName=function(){
    console.log(this.name)
}
getName();
getName.call(obj1);
getName.apply(obj2)
目录
相关文章
|
1月前
|
JavaScript 前端开发 开发者
call 方法和 apply 方法的区别是什么?
【10月更文挑战第26天】`call` 方法和 `apply` 方法的主要区别在于参数传递方式和使用场景。开发者可以根据具体的函数参数情况和代码的可读性、简洁性要求来选择使用 `call` 方法还是 `apply` 方法,以实现更高效、更易读的JavaScript代码。
34 2
|
1月前
|
JavaScript 前端开发 开发者
call、bind、apply区别
【10月更文挑战第26天】`call`、`bind` 和 `apply` 方法在改变函数 `this` 指向和参数传递方面各有特点,开发者可以根据具体的需求和使用场景选择合适的方法来实现更灵活和高效的JavaScript编程。
33 1
|
6月前
|
JavaScript 前端开发
call和apply的区别
call和apply的区别
|
2月前
|
前端开发 JavaScript
比较一下apply/call/bind ?
本文首发于微信公众号“前端徐徐”,详细介绍了 JavaScript 中 `apply`、`call` 和 `bind` 方法的概念、使用场景及手动实现。主要内容包括: - **apply**:使用数组作为参数调用函数,并指定 `this`。 - **call**:直接传递参数调用函数,并指定 `this`。 - **bind**:返回一个绑定了 `this` 和部分参数的新函数。 文章还对比了这三个方法的区别,并提供了手动实现的代码示例。
26 2
|
7月前
call\apply\bind详解
call\apply\bind详解
37 0
|
JavaScript 前端开发
call和apply与this的关系
call和apply与this的关系
50 0
bind、call、apply 区别
bind、call、apply 区别
82 0
apply、bind和call
apply、bind和call
93 0
|
JavaScript 前端开发
一文搞定this、apply、call、bind
一文搞定this、apply、call、bind
|
前端开发