js / aplicarán, llamada, se unen la diferencia

llaman, se aplican, se unen estos tres métodos son de hecho heredado de Function.prototype de pertenencia a un método de instancia .

1, se aplican

  Cambio de aplicar el método de llamada dirigida a esta función y la función se ejecuta, nota que cuando el se aplican parámetro pasar una matriz de

  Ejemplo:

    función na1 (a) {console.log (esto, a)}

    dejar que obj = { 'b': 11}

    fn1.apply (obj1, [22]) // { 'b': 11}, 22

2, llamada

  Cambio de aplicar el método de llamada dirigida a esta función y la función se ejecuta, nota que cuando se usa la llamada parámetros pasados en forma de un único

  Ejemplo:

    función na1 (a) {console.log (esto, a)}

    dejar que obj = { 'b': 11}

    fn1.call (obj1, 22) // { 'b': 11}, 22

3, se unen

  Cambio de aplicar el método de llamadas dirigidas a esta función, la función no se ejecuta recién generado, utilizando las funciones recién generados se aplican llamada o no válida, no cambia la función de esta nueva generación, métodos de transmisión como parámetros y llamada

  Ejemplo:

    la función f1 () {return} this.a

    Hay obj1 = {a: 11111};

    Hay obj2 = {a: 22222};

    eran f2 = f1.bind (obj1)

    f2 () // 11111

    console.log (f2.call (obj2)) // 11111

    console.log (f1.call (obj2)) // 22222

4, aplicar y llamar al poco conocimiento

  Array.prototype.slice.apply ($ ( 'div')) // objetos se pueden convertir en una matriz como matriz

  Array.prototype.slice.call ($ ( 'div')) // objetos se pueden convertir en una matriz como matriz

Supongo que te gusta

Origin www.cnblogs.com/cuishuangshuang/p/12632487.html
Recomendado
Clasificación