
原理分析
1、给CONTEXT设置一个属性,属性值一定是要执行的函数。
2、基于CONTEXT.XXX()成员访问执行方法,就可以把函数执行,并且改变里面的THIS。
都处理完后,把给CONTEXT设置的这个属性删除掉。
实例
Function.prototype.call = function(context,...params){
let key = Symbol('key'),//设置唯一值
result;
!/^(object|function)$/.test(typeof context) ? context = Object(context) :null;
context !=null ? null : context = window;//如果context为null或者undefined,直接赋值为window
context[key] = this;
result = context[key](...params);//返回值
delete context[key];
return result;
}
以上就是javascript中call函数的原理,希望对大家有所帮助。更多Javascript学习指路:Javascript
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试



