call 和 apply 两个方法都是 Function 的原型对象上面的方法
两个函数的作用是一样的,都可以用来借用方法实现
call 和 apply 都有两个参数
参数一:调用该方法的对象(函数内部的 this 绑定的对象)
参数二: call:参数列表
apply:数组
实例:
对象1 方法.call(调用方法的真正对象,参数一,参数二,参数三)
对象2. 方法.apply(调用方法的真正对象,[参数一,参数二,参数三])
实例:
借助构造函数实现继承
this指向:
函数的调用方式 | this指向 |
---|---|
作为对象的方法来调用 | 当前的对象 |
作为普通的函数调用 | window |
作为构造函数和new使用 | 构造函数内部创建的对象 |
被call或者是apply调用(函数上下文调用) | 第一个参数 |