/*
author:yangJian
*/
// js中call,apply,bind的实现原理()
// 三者的区别,都是改变this指针,call和apply主要是参数区别,bind返回的是一个函数体,而call和apply是立即执行
// call的实现
function fn1 (str1,str2,str3){
console.log(this,str1,str2,str3);
}
function fn2(){
}
Function.prototype.call = function (context){
// 避免传入的是基本类型,使用object进行对象化
context = context ? Object(context) : window;
context.fn = this;
let args = [];
for (let i = 1;ijs中call,apply,bind的实现原理()
原文地址:https://www.cnblogs.com/chengxuxing/p/12406192.html
时间: 2024-11-07 15:20:50