通話を実現し、適用するには

コールの実装。メソッドを呼び出します。パラメータを渡す機能CAL(){} VAR OBJ = {} cal.call(OBJ、 "SAM"、 "kavin")変化点、

Function.prototype.call(コンテキスト){

  //ウィンドウを指したときに渡されたオブジェクトがnullまたは空の場合

  VaRの文脈=コンテキスト||

  ] [引数の=ました

  最初//関数呼び出しコールを取得するには、これを取得することができます

  context.fn =この;

  //私たちは、その後、内部に実行される関数のパラメータへの引数のこの配列を置きます。

  用(VAR I = 1、LEN <arguments.lengthを、iがLEN <; iは++){

    args.push( "引数(" + I + ")")

  }

  するvar RET =のeval( "context.fn(" +引数+ ")")

  context.fn削除

  ・リターン・右

}

パラメータを渡し、ポイントを変更する機能CAL(){} VAR OBJ = {} cal.call(OBJ、[ "SAM"、 "kavinを"])適用の実現方法

Function.prototype.apply2 =関数(コンテキスト、ARR){

  VaRの文脈=コンテキスト|| 窓;

  だったのres = ''

  context.fn =この;

  (もし!ARR){

    RES = context.fn()

  }他{

    ] [=怒っていました

    {(; iはLEN <I ++はVAR I = 0、LEN = arr.length)のために

      arg.push( "ARR(" + I + ")")

    }

    RES =のeval(context.fn(+引数+))

  }

  context.fn削除

  リターンRES 

}

おすすめ

転載: www.cnblogs.com/samChens/p/11587110.html