原理分析
1、给CONTEXT设置一个属性,属性值一定是要执行的函数。
2、基于CONTEXT.XXX()成员访问执行方法,就可以把函数执行,并且改变里面的THIS。
都处理完后,把给CONTEXT设置的这个属性删除掉。
实例
Function.prototype.call=function(context,...params){ letkey=Symbol('key'),//设置唯一值 result; !/^(object|function)$/.test(typeofcontext)?context=Object(context):null; context!=null?null:context=window;//如果context为null或者undefined,直接赋值为window context[key]=this; result=context[key](...params);//返回值 deletecontext[key]; returnresult; }
以上就是javascript中call函数的原理,希望对大家有所帮助。更多Javascript学习指路:Javascript
原文来自:https://www.py.cn© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容