手写一个call

;(function(){
 // 接收实参有三种方案 1、通过形参  2、...args 数组  3、arguments 伪数组,并且接收了所有的实参  
    // 因为call 接收不是数组 也不能安找形参来接收,所以选择第三种 arguments 接收
 function myCall(context, arguments){
  context = context ? Object(context): window

  //this 只要谁调用  this就是谁 这里表示 fn

  // ================== 因为this指向了函数 所以可以试着 这样
  //this() // 因为是独立函数调用 所以this 又指向了window 所以这样写不行
  // ==================

  // ================== 因为this指向了函数 也可以试着这样  
  let res = context.f(...args)
  // ================== 
  
  let args = []
  for(let i = 1; i

你可能感兴趣的:(javascript)