javascript中call函数的原理

美女程序员鼓励师

原理分析

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电脑。

以上是 javascript中call函数的原理 的全部内容, 来源链接: utcz.com/z/545112.html

回到顶部