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
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 :)
O hash
, map
, dictionary
ve associative array
ile gibidir; farklı diller farklı şeyler demeyi sever. Terminoloji (maalesef) programlama dilleri arasında% 100 aktarılamaz.
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