您好,欢迎来到叨叨游戏网。
搜索
您的当前位置:首页简单实现js call方法

简单实现js call方法

来源:叨叨游戏网

话不多说,直接贴代码(只是一个简单的call实现无边界判断

let a = 1;
let obj = {
	a:2
}
Function.prototype.myCall=function(context,...arr){
	//context为要将this指向的目标对象 默认指向window
	let targetObj = context || window;
	let temporaryStorageFn = Symbol('临时存储调用myCall方法的函数');
	//此处this 指向myCall调用者fn
	targetObj[temporaryStorageFn] = this;
	//这个就是调用了fn 并把fn的返回结果返回
	return targetObj[temporaryStorageFn](...arr);
}
function fn(b){
	console.log(this.a);  //2
	console.log(b);  //b
}
fn.myCall(obj,'b');

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.net 版权所有 湘ICP备2024080961号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务