Bu, Google Chrome hata ayıklayıcısını kullanarak beni rahatsız eden bir şeydir ve bunu çözmenin bir yolu olup olmadığını merak ettim.Javascript'te bir işlev/nesne adını, Chrome'da görüntülendiği şekliyle dinamik olarak ayarlama
Nesne yönelimli bir çok JS kullanarak (Joose çerçevesini kullanarak) büyük bir Javascript uygulamasında çalışıyorum ve kodumu hata ayıkladığımda tüm sınıflarıma duyarlı olmayan bir ilk görüntü değeri verilir.
var F = function() {};
var myObj = new F();
console.log(myObj);
çıktı sen myObj
tüm özellikleri görmek için genişleyebilir tek bir satır olmalı, ama gördüğünüz ilk şey sadece ▶ F
geçerli: Ne demek istediğimi görmek için Chrome konsolunda bu deneyin.
Sorunum, OO çerçevem nedeniyle, her başlatılan nesnenin aynı adı ' alır. Göründüğü kod sorumludur yüzden gibidir:
ayıklayıcısında, başlangıçtaki görünüm her zaman▶ f
olduğu anlamına gelir
getMutableCopy : function (object) {
var f = function() {};
f.prototype = object;
return new f();
}
. Joose nesneleri aniden nasıl
Şimdi, gerçekten hakkında bir şey değişiyor gibi istemiyoruz (getMutableCopy ...?), ama kendi verebileceğini de bu yüzden bu eklemek bir şey olsaydı İsim, bu harika olurdu.
ben baktım bazı şeyleri ama hiçbir yere alamadım:
> function foo {}
> foo.name
"foo"
> foo.name = "bar"
"bar"
> foo.name
"foo" // <-- looks like it is read only
Ayrıca bkz [? Javascript Dinamik işlev adı] (https://stackoverflow.com/questions/ 5905492/dynamic-function-name-in-javascript/41854075 # 41854075) – gimpf