SORU
27 Mart 2013, ÇARŞAMBA


Nasıl $eval iş yapar ve neden vanilya eval farklıdır?Angular.js:

Seni bu kadar sık talimatlarına bakın $scope.$eval merak ettim, kaynağını kontrol ettim ve rootScope.js aşağıdaki bulundu:

  $eval: function(expr, locals) {
    return $parse(expr)(this, locals);
  },

$parse kendi mini-sözdizimi (dosya 900 satır uzunluğunda) bir tür tanımlamak için görünür parse.js ParseProvider tarafından tanımlanmış görünüyor.

Benim sorular şunlardır:

  1. Tam olarak $eval ne yapıyor? Neden kendi mini dil ayrıştırma ihtiyacı var mı?

  2. Neden eval düz eski JavaScript kullanılmıyor?

CEVAP
27 Mart 2013, ÇARŞAMBA


$eval $parse JavaScript değerlendirmek; expressions AngularJS değerlendirin. Bağlantılı belgelere ifadeler ve JavaScript arasındaki farklar açıklanır.

$Eval Ne? s: Neden kendi mini dil ayrıştırma ihtiyacı var mı?

Gelen dokümanlar:

İfadeler JavaScript gibi genellikle bağlamaları gibi yerleştirilen kod parçacıkları {{ ifade }}. İfadeler $ayrıştırma hizmeti tarafından işlenir.

JavaScript-gibi ekler bazı AngularJS gibi mini-dil (örneğin, kontrol deyimleri, üçlü operatör hariç akışı) olarak çalıştırabilirsiniz ne sınırları bir iyilik (örneğin filtreler).

"Eval" kullanılan eski javascript değil düz Neden s:

Aslında JavaScript değerlendirmek değil çünkü. Doktorların dediği gibi:

... Keyfi JavaScript çalıştırmak istediğiniz kod varsa, o denetleyici bir yöntem olun ve yöntemini çağırmalısınız. Eğer eval() JavaScript açısal bir ifade, eval $kullanın() yöntemi.

Belgeleri yukarıda bağlantılı çok daha fazla bilgi var.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Smith Micro Graphics

    Smith Micro

    15 Mayıs 2008
  • Soulkiller13 ツ

    Soulkiller13

    30 Mayıs 2013
  • The Verge

    The Verge

    8 AĞUSTOS 2006