2013-04-11 12 views
8

Knockoutjs eğiticisi üzerinde çalışıyorum. Ve bir şey bana tuhaf geliyor. Şu anda part 2 duyuyorum: knockout.js'de, "bu" neden "kendi kendine" atanıyor?

http://learn.knockoutjs.com/#/?tutorial=collections

Ve her "sınıf" bu bölümünde

, "Bu" "öz" tahsis ediliyor .. ilk birinde böyle değildi?

Neden biri yapsın? Sadece özel kodun python bağımlılığı olduğunu yazmış mı yoksa bazı gerçek faydaları var mı?

+4

[JS: var self = this?] 'Nin olası kopyası (http://stackoverflow.com/questions/337878/js-var-self-this) Daha fazla bilgi için: Ve daha fazla okuma için: http: // stackoverflow.com/questions/9589419/difference-between-knockout-view-models-declared-as-object-literals-vs-functions – nemesv

cevap

7

"Bu", içeriğe bağlı olarak farklı nesnelere başvurduğu için, belirli bir nesneye, örneğin "kendi kendine" başka bir değişkene atanarak bir başvuru kaydedebilir.

+1

Ayrıca eklemeliyim ki, bu gerçekten boş bir soru değil, genel bir javascript geliştirme modeli oldukça sık kullanılır (düğüm dahil). – lucuma

+0

Bu doğru olsa da, bu örnekte nakavt kullanımının anlamsız olduğu görülmektedir. Bağlam geçişi yoktur ve "kendi" yi "bu" ya dönüştürebilirsiniz ve örnek iyi çalışır. Belki bunu yaparlar, çünkü öğreticinin ilerleyen kısımlarında içerik değişimi vardır? – MikeMurko

+0

Evet, bazen bir alışkanlık haline geleceğini düşünürdüm. – Whistletoe

İlgili konular