函数中的call( )和apply( )

call( )和apply( )

  • 这两个方法都是函数对象的方法,需要通过函数对象来调用
  • 当对函数调用call( )和apply( )都会调用函数执行
  • 在调用call和apply( )可以讲一个对象指定为第一个参数
function fun(){
    alert(this);
}
var obj = {};
fun.apply(obj);

此时这个对象将会成为函数执行时的this

  • call( )方法可以将实参在对象之后依次传递

  • apply( )方法需要将实参封装到一个数组中统一传递

this的情况:
1.以函数形式调用时,this永远都是window
2.以方法的形式调用时,this是调用方法的对象
3.以构造函数的形式调用时,this是新创建的那个对象
4.使用call和apply调用时,this是指定的那个对象

posted @ 2022-01-21 21:34  苏槿年  阅读(35)  评论(0编辑  收藏  举报