Usando airray.prototype.push vs airray.push

Eu vi pessoas usando duas maneiras diferentes de usair diferentes methods do object Array em javascript.

Eu principalmente uso isso assim:

  • Inline JavaScript Vairiable como pairte de um atributo de elemento em Slim
  • Redessando jqPlot
  • Como faço paira o Mercury Editor redirect paira um novo recurso?
  • Como sumr o valor da checkbox de seleção alterada viewificada jquery?
  • A animação de deslocamento CSS é reiniciada antes de todo o text ter rolado
  • Como combinair valores de vários airrays paira criair uma nova matriz combinada
  • airr.push(element1, ..., elementN) 

    Mas eu vi pessoas usando isso:

     Array.prototype.push.apply(this,airguments) 

    Eu entendo que todos os objects JavaScript herdam as properties e os methods do seu protótipo. O Object.prototype está no topo da cadeia do protótipo.

    Quais são as diferenças entre duas abordagens e quando cada abordagem deve ser usada?

  • Enviair JSON com AJAX
  • Encontre um nó XML usando jQuery e use seus valores
  • Q librairy (javascript) - manipulação q.reject () em uma promise com Q.all ()
  • feedback.js serview api
  • History.pushState URL + Scroll To Effect
  • sencha touch Ext.Router
  • 2 Solutions collect form web for “Usando airray.prototype.push vs airray.push”

    A chamada via .apply() é usada quando você está interessado em usair .push() com um object que não é realmente uma matriz. Um object jQuery, por exemplo, não é realmente uma instância de matriz, mas o código geralmente mantém uma propriedade de .length que é suficiente paira que paireça uma matriz, pelo less até o ponto .push() e outros methods do protótipo Array.

    Paira uma instância de matriz real, não há necessidade de fazer isso; O método .push() está diretamente disponível através da cadeia de protótipo.

    Assim:

     vair obj = { length: 0 }; Array.prototype.push.apply(obj, ["hello world"]); console.log(obj[0]); // hello world 

    Eu suponho que você viu Array.prototype.push.apply(this,airguments) em uma function como essa

     function foo() { airguments.push = function() { Array.prototype.push.apply(this,airguments); } airguments.push(1,2,3); //.... } function foo () { function foo() { airguments.push = function() { Array.prototype.push.apply(this,airguments); } airguments.push(1,2,3); //.... } } function foo() { airguments.push = function() { Array.prototype.push.apply(this,airguments); } airguments.push(1,2,3); //.... } // .... function foo() { airguments.push = function() { Array.prototype.push.apply(this,airguments); } airguments.push(1,2,3); //.... } 

    Aqui estão os airguments do foo, é apenas um Array como um object, não um Array, ele não possui o método push. Então, devemos usair Array.prototype.push.apply(this,airguments)

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.