Olası yinelenen üzerinde kendi özelliği başvuru:
Self-references in object literal declarationsNesne initilization
Bu yapılabilir? (Besbelli değil bu sözdiziminde)
var a = {
b : 10,
c : this.b * 2 // returns 'undefined'
};
Ben de bu değerlerin tanımsız olduğunu bana mantıklı
var a = {
b : 10,
c : a.b * 2 // throws error 'a is undefined'
};
ve
var a = {
b : 10,
c : b * 2 // throws error 'b is undefined'
};
denedi, unutmadım onları tanımlamayı bitirdi. Ancak böyle bir nesneyi yapılandırarak ve c
"b" yi derleme zamanında başlattığınızı düşünürsek, neden bunun üzerinde koşullu olabilir? Zaten ne olduğunu biliyorsun! –
Gönderdiğim yazı basitleştirilmiş bir örnektir. Her zaman b'nin ne olduğunu bilmeyeceğim. Aksi takdirde şartlı şartlara sahip olmam gerekmeyecek. b: function (x) {/ * bazı şeyler yapmak */return y;}, ' – rlemon
@Chad 1. JS derlenmez, 2. bir değişkeni diğerine dayalı bir ifadeyle başlatmak normaldir ve diğer diller (örneğin C) mükemmel şekilde yönetir. – Alnitak