vs 'bu' vs 'var' bu üç kurucu işlevleri verilen?yapıcı parametreli değişkenleri javascript olarak
cevap
var _data = data;
data
arasında (başvuramaz) yerel bir kopyasını oluşturur (örneğin yeni Bar().data
ancak new Foo().data
yapabilirsiniz). this.data = data
aslında nesnenin kendisinin bir özelliğini oluşturur. http://javascriptweblog.wordpress.com/2010/08/30/understanding-javascripts-this/
Evet, fark değişken nasıl saklanacağı konusunda geçerli:
Bu (hayır cinas) okumanızı öneririz.
var
ile bildirilen değişken yapıcı işlev için yereldir. Yalnızca işlevler kapanışında yakalandığı için, kapsamda bildirilen herhangi bir işlev varsa, yapıcı çağrısının ötesine geçer.
this.
ile bildirilen değişken aslında bir değişken değil, nesnenin bir özelliğidir ve nesne kullanılıp kullanılmadığına bakılmaksızın nesnenin yaptığı sürece hayatta kalacaktır.
Düzenleme:
Değişkenleri bunları bildirmeden kullanıyorsanız, bunlar, nesnenin bir parçası olarak değil, genel kapsamda bildirilir. Genel olarak beyan ettiğiniz şeyin kapsamını sınırlamaya çalışmalısınız, böylece her şey küresel kapsamda bitmez.
Bir değişken hiçbir zaman kullanılmazsa ... var olup olmadığı fark eder mi? –
Değişken, herhangi bir yöntemle kullanılmasa bile (en az bir yöntem varsa) yapıcı çağrısından kurtulacaktır. Yöntemler değişkeni kullanmak zorunda değildir - yöntem (ler) kapsamında tutulduğu için hayatta kalır. –
@Pablo: Çok fazla değil, ancak değişkenleri bildirme yöntemleri arasındaki farkın bir etkisidir. – Guffa
- 1. Javascript Değişkenleri Object Pointers olarak
- 2. Arama yapıcı - Javascript
- 3. javascript yapıcı sıfırlama: Nedir?
- 4. javascript yapıcı üzerinde geçerli,
- 5. javascript - CategorySelect bir yapıcı
- 6. JavaScript değişkenleri bellek konumu
- 7. Javascript ortam değişkenleri
- 8. javascript için django değişkenleri
- 9. Javascript Form Değişkenleri
- 10. Javascript yapıcı yöntemlerini jQuery ifadesinde nasıl kullanırsınız?
- 11. Parametre oluşturmayan yapıcıyı kapsayıcı oluşturma işleminde enjeksiyon yapıcı olarak ayarlama
- 12. Kazıma PHP için Javascript değişkenleri
- 13. değişkenleri oluşturma ve dinamik javascript
- 14. Navigator.geolocation.getCurrentPosition dışında değişkenleri kaydetme? (Javascript)
- 15. Clojure deftype parametreli bir işlev olarak kullanılıyor
- 16. parametreli Grails doğrulama iletileri messages.properties olarak
- 17. , yapıcı
- 18. ES6/JavaScript - let/Kat olmadan değişkenleri bildirme
- 19. Django şablonları: javascript değişkenleri için değer ekleme
- 20. Java Sınıfı Yapıcı parametresi ile dinamik olarak
- 21. Varsayılan yapıcı neden sanal devralma olarak adlandırılıyor?
- 22. Haskell: dize olarak veri yapıcı adı alın
- 23. lambda bir yapıcı argümanı olarak geçen
- 24. Angular/ngMessages - Parametreli iletiler
- 25. Harici JavaScript dosyasında oturum değişkenleri çağrısı
- 26. javascript ile değişkenleri metin dosyasına okuyun
- 27. C# ile javascript arasındaki değişkenleri nasıl geçirirsiniz?
- 28. Değişkenleri Objective-C'den javascript işlevine geçirin mi?
- 29. Literal notasyon VS. yapıcı JavaScript oluşturmak için nesneler
- 30. Parametreli sorgular için örnekler
Not: Yerel değişkene parametrenin değeri atanır. Parametre bir nesneye başvuruysa, yerel değişken de nesnenin bir kopyasına bir başvuru değil, aynı nesneye bir başvuru olacaktır. – Guffa
bu harika bir cevap (punto amaçlı) – Marty