SORU
28 Mayıs 2013, Salı


jquery vs açısal genişletir

Bu ikisi arasındaki fark fonksiyonları genişletmek nedir?

  angular.extend(a,b);
  $.extend(a,b);

Jquery süre.uzatmak iyi açısal belgelenmiştir.uzatmak ayrıntıları içermiyor, Yorum yok cevaplar verin. (https://docs.angularjs.org/api/ng/function/angular.extend).

Açısal yapar.ayrıca derin kopyasını sağlamak uzatmak?

CEVAP
28 Mayıs 2013, Salı


angular.extend jQuery.extendçokbenzer. İkisi de birsığözelliği, bir hedef nesne için bir veya daha fazla kaynak nesneleri kopyalayın. Örneğin:

var src = {foo: "bar", baz: {}};
var dst = {};
whatever.extend(dst, src);
console.log(dst.foo);             // "bar"
console.log(dst.baz === src.baz); // "true", it's a shallow copy, both
                                  // point to same object

angular.copy sağlarderinkopyalama:

var src = {foo: "bar", baz: {}};
var dst = angular.copy(src);
console.log(dst.baz === src.baz); // "false", it's a deep copy, they point
                                  // to different objects.

Geri almak için extend: Ben sadece bir önemli fark, bu bir WordPress kullanmak extend belirlemenizi sağlar sadece bir nesne, bu durumda jQuery kendisi hedef.

Ne çok ortak yönümüz:

  • Sığ bir kopyası. Eğer öyleyse src bir özelliği vardır Eğer bir nesne dst başvurduğu p başvuran 16 ** bir özellikaynınesne (nesnenin bir kopyasını değil).

  • Her ikisi de hedef nesne döndürür.

  • İkisi de birden fazla kaynak nesneleri destekler.

  • İkisi de birden fazla kaynak bir nesne yoksıraylave son kaynak nesne "birden fazla kaynak nesne halinde" aynı özellik adı var. kazanacak yani

Test sayfası: Live Copy | Live Source

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js"></script>
<meta charset=utf-8 />
<title>Extend!</title>
</head>
<body>
  <script>
    (function() {
      "use strict";
      var src1, src2, dst, rv;

      src1 = {
        a: "I'm a in src1",
        b: {name: "I'm the name property in b"},
        c: "I'm c in src1"
      };
      src2 = {
        c: "I'm c in src2"
      };

      // Shallow copy test
      dst = {};
      angular.extend(dst, src1);
      display("angular shallow copy? "   (dst.b === src1.b));
      dst = {};
      jQuery.extend(dst, src1);
      display("jQuery shallow copy? "   (dst.b === src1.b));
      $("<hr>").appendTo(document.body);

      // Return value test
      dst = {};
      rv = angular.extend(dst, src1);
      display("angular returns dst? "   (rv === dst));
      dst = {};
      rv = jQuery.extend(dst, src1);
      display("jQuery returns dst? "   (rv === dst));
      $("<hr>").appendTo(document.body);

      // Multiple source test
      dst = {};
      rv = angular.extend(dst, src1, src2);
      display("angular does multiple in order? "  
                  (dst.c === src2.c));
      dst = {};
      rv = jQuery.extend(dst, src1, src2);
      display("jQuery does multiple in order? "  
                  (dst.c === src2.c));

      function display(msg) {
        $("<p>").html(String(msg)).appendTo(document.body);
      }
    })();
  </script>
</body>
</html>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Matthew Pearce

    Matthew Pear

    9 AĞUSTOS 2009
  • metal571

    metal571

    30 Mayıs 2006
  • videoisunrelated

    videoisunrel

    5 Mart 2009