2011-02-02 21 views
6

Baktığım her JavaScript öğreticide, bir nesnenin özelliği ile ilgili bir şey var. Ama neden buna bir özellik diyorlar? Örneğin. yapıcı özelliği, var a = işlev {this.b} burada b tekrar özellik olarak adlandırılır. Bildiğim kadarıyla özelliklerin alıcısı ve/veya ayarlayıcısı var, o yüzden bu alanlara alan denilmeli, değil mi?JavaScript: alanlar veya özellikler

cevap

4

Bazı tarayıcı satıcıları, JavaScript özellikleri için alıcı/ayarlayıcıları uygulamıştır.

FF ve Webkit, DOM nesneleri için uygulanan __defineGetter__ ve __defineSetter__'a sahiptir ve ECMA belirtiminin dışında olan Nesneler için ayarlanmış ve ayarlanmıştır. Ancak, hem IE 8+ hem de Object.defineProperty (ECMA belirtiminden) sahiptir. Bunun hakkında bilgi edinin here

Özgün soru olarak, JavaScript'te özellik olarak adlandırılmasının nedeninin dinamik bir dil olması ve temel biçimlemenin yalnızca özellikleri ve yerel varlıkları kullanması olduğunu söyleyebilirim. Her şey belirli bir kapsam-hiyerarşiye bağlı olduğundan, sahip olduğunuz her şey farklı düzeylerde ağaç dalları. Ve Douglas Croockford onlara ismini verdi :)

+0

Tamam. 10x. Görünüşe göre bazı alıcı ve belirleyici var [ECMA] (http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf) 8.6.1. – bliof

2

O hash, map, dictionary ve associative array ile gibidir; farklı diller farklı şeyler demeyi sever. Terminoloji (maalesef) programlama dilleri arasında% 100 aktarılamaz.

İlgili konular