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

  • Facebook Developers

    Facebook Dev

    24 ŞUBAT 2009
  • MrOctopi

    MrOctopi

    6 Aralık 2010
  • thepoke64738

    thepoke64738

    17 HAZİRAN 2011