SORU
14 AĞUSTOS 2012, Salı


'konsol arasındaki fark ne.dir ve konsol.günlük?

Krom console nesne aynı şeyi yapmak gibi iki yöntem tanımlar:

console.log(...)
console.dir(...)

Okumuştum bir yerde online dir alır bir kopyasını nesne önce giriş, oysa log sadece geçer başvurusu için konsol, anlam o zaman git incelemek nesne açmış olabilir değişti. Ancak bazı ön test fark yok ve onlar oturum zaman daha farklı eyaletlerde potansiyel gösteren nesneleri muzdarip hem de düşündürmektedir.

Chrome bu konsol deneyin (CtrlShiftJ) ne demek istediğimi anlamak için:

> o = { foo: 1 }
> console.log(o)
> o.foo = 2

Şimdi, günlük deyimi altında [Object] genişletmek ve değerini 2 foo görünüyor, dikkat edin. Aynı log yerine deneyi dir ile tekrarlayın.

Benim sorum, neden görünüşte aynı bu iki fonksiyonu console var mı?

CEVAP
14 AĞUSTOS 2012, Salı


Firefox, bu işlevi oldukça farklı davranır: log dir gezilebilir bir ağaç yazdırır ise sadece toString temsil yazdırır.

Chrome zaten ağaç -- yazdırırçoğu zaman. Ancak, Krom eğer özellikleri varsa bile log hala nesnelerin belirli sınıflar stringifies,. Belki bir fark en açık örnek düzenli ifade:

> console.log(/foo/);
/foo/

> console.dir(/foo/);
* /foo/
    global: false
    ignoreCase: false
    lastIndex: 0
    ...

Ayrıca normal nesneleri farklı: log ged olan diziler (örneğin, console.dir([1,2,3])) ile aradaki farkın net bir şekilde görebilirsiniz

> console.log([1,2,3])
[1, 2, 3]

> console.dir([1,2,3])
* Array[3]
    0: 1
    1: 2
    2: 3
    length: 3
    * __proto__: Array[0]
        concat: function concat() { [native code] }
        constructor: function Array() { [native code] }
        entries: function entries() { [native code] }
        ...

DOM nesneleri de farklı davranış, as noted on another answer sergi.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • NextGenWindows

    NextGenWindo

    8 Kasım 2011
  • Rooster Teeth

    Rooster Teet

    11 Temmuz 2006
  • YouplusmeVEVO

    YouplusmeVEV

    4 EYLÜL 2014