2013-03-13 5 views
6

WebKitとFirefoxがウィンドウ内に "Counter"というグローバル変数を定義していることに気がつきました。これが何であるかの考え? ChromeでJavaScript "Counter"オブジェクト、それはなんですか?

、それは腕時計でそのように表示されます。

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

注:この変数は、IE(バージョン10でテスト済み)

+2

注目すべきは、Chromeでは「カウンター」は関数であり、FFではオブジェクトであるようです。 –

+0

これはガベージコレクタで、スコープ内のデータへの参照数を数えますか? –

答えて

2

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

私は、これは、カウンタが任意のデータへの参照の数を数え、ガベージコレクションのためにあると言っていると信じています。 DirectまたはIndirectを使用して、そのデータを呼び出すか、キャッシュから解放するためのより正確なポインタを作成できますか?私が間違っている場合は私を修正する、私は新しいです..それはちょうど勉強するよりもGoogleに楽しいでした。

+0

興味深い。しかし、なぜ彼らはそのページにそれを公開するのだろうか? –

+0

私は、このようにして効率的にすることができ、ブラウザのデフォルトのガベージコレクションを操作する開発者としてこれを利用できないと思いますか? –

+0

私は知りたいです。しかしどうですか? Chromeでこれを行うことはできません。 –

2

私は見つけることができる最高はRhinoのと関連している上に存在しません: https://developer.mozilla.org/en-US/docs/Rhino/Embedding_tutorial#Counter_example

しかし、WebKitの中で、それはinstanctiateに失敗:

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

var c = Counter(7) 
TypeError: Illegal constructor 
ヤモリは

[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

FFの「カウンタ」(コンソール内)はオブジェクトであり、関数ではないので、それはそれだとは思わない。 –

+0

@FelixKling trueですが、他の参照は見つかりません。 googleで "Javascript Counter"(とその派生物)を検索するのは簡単ではありません:p – fmsf

+0

さて、実際には質問には答えません。 ;) –

関連する問題