2013-03-13 11 views
6

WebKit ve Firefox'un pencerede "Counter" olarak adlandırılan bir global değişken tanımladığını fark ettim. Bunun ne olduğu hakkında bir fikrin var mı?JavaScript "Counter" nesnesi, ne var?

Counter: function Counter() { [native code] } 

Not: Bu değişken IE bulunmaz

+2

Dikkat edilmesi gereken nokta, Chrome'da 'Counter' bir işlevdir, FF'de ise bir nesne gibi görünür. –

+0

Bu, kapsam içerisindeki verilere yapılan referansların sayılmasıyla bir çöp toplayıcısı olabilir mi? –

cevap

2

http://blog.peschla.net/doxygen/v8_chromium_r157275/v8-counters_8h.html

Bunu söylediğini sayaçlar herhangi bir verinin için referans sayısını sayarak, çöp toplama olduğuna inanıyoruz. Verileri hatırlamak veya önbellekten çıkarmak için daha doğru bir işaretçi oluşturmasına yardımcı olmak için doğrudan veya dolaylı mı? eğer yanılıyorsam düzeltin, ben yeniyim ... Google'dan ders çalışmaktan çok daha eğlenceliydi.

+0

İlginç. Ama bunu neden sayfada görsünler ki? –

+0

Sanırım bu şekilde sonlarında daha verimli olmak için bu şekilde yapılabilir ve ayrıca tarayıcıların varsayılan çöp toplama işlemini manipüle eden bir geliştirici olarak bundan yararlanamazdınız mı? –

+0

Bilmek istiyorum. Ama nasıl? Chrome'da bununla ilgisi olmayan hiçbir şey yok. –

2

(sürüm 10 ile test) Bulabildiğim en iyi Rhino ile ilgilidir Chrome'da

, bu saatin içinde gibi görünür : https://developer.mozilla.org/en-US/docs/Rhino/Embedding_tutorial#Counter_example

Ama webkit o instanctiate başarısız:

var c = new Counter(7) 
TypeError: Illegal constructor 

var c = Counter(7) 
TypeError: Illegal constructor 
Gecko ise

:

[12:33:24.608] var c = Counter(7) 
[12:33:24.609] TypeError: Counter is not a function 
[12:33:29.049] var c = new Counter(7) 
[12:33:29.051] TypeError: Counter is not a constructor 
[12:33:31.043] Counter 
[12:33:31.046] [object Counter] 
+0

Bunun bir şey olduğunu düşünüyorum çünkü FF'de (konsolda) 'Counter' bir işlev değil, bir nesnedir. –

+0

@FelixKling true, ancak başka bir başvuru bulamıyor. Google üzerinde "Javascript Sayaç" (ve onun türevleri) için arama yapmak kolay değil: p – fmsf

+0

Peki, ama sonra gerçekten soruya cevap değil, değil mi? ;) –

İlgili konular