SORU
19 AĞUSTOS 2011, Cuma


Neden [1,2] [3,4] = &JavaScript;1,23,4" quot; mu?

Bir dizinin öğeleri eklemek için başka istedim, bizim sevgili Firebug bu basit cümle çalıştım:

[1,2]   [3,4]

İle cevap verdi:

"1,23,4"

Neler oluyor?

CEVAP
19 AĞUSTOS 2011, Cuma


operatördiziler için tanımlı değil.

Ne Javascriptdönüştürür dizeleri dizilerve birleştirir.

Güncelleme

Bu soru ve sonuç olarak cevabımı fazlasıyla ilgi olduğundan anlayışlı şeyler Jeremy Banks tarafından gönderildi yanı sıra bir çok yararlı olacağını hissettimgenel bakış operatör genel olarak nasıl davranır hakkında.

O yüzden söylüyorum.

E4X hariç ve özel uygulama eşyaları, JavaScript vardır6dahili data types:

  1. undefined
  2. boolean
  3. number
  4. string
  5. function
  6. object

Unutmayınikisi de değilnullne de[] ayrı bir tür typeof fed hem de dönüş object. Ancak farklı her iki durumda da çalışır.

Bu doğru - JavaScript vardırhayır, temel bir dizigibi; bir sınıfın sadece örneklerinin bazı sözdizimsel şeker Array ağrıyı dindirmek için aradı.

Karışıklık daha ekleyerek, new Number(5), new Boolean(true) new String("abc") gibi sarıcı varlıklar, tahmin edebileceğiniz gibi object tip, sayı, Boolean veya dizeleri değil. Yine de aritmetik operatörler Number Boolean sayı gibi davranır.

Kolay, değil mi? Yolumdan tüm bu bakış kendisini geçebiliriz.

İşlenen türleri tarafından farklı sonuç türleri

-------------------------------------------------------------------------------------------
            | undefined | boolean | number | string | function | object | null   | array  | 
-------------------------------------------------------------------------------------------

undefined   | number    | number  | number | string | string   | string | number | string | 

boolean     | number    | number  | number | string | string   | string | number | string | 

number      | number    | number  | number | string | string   | string | number | string | 

string      | string    | string  | string | string | string   | string | string | string | 

function    | string    | string  | string | string | string   | string | string | string | 

object      | string    | string  | string | string | string   | string | string | string | 

null        | number    | number  | number | string | string   | string | number | string | 

array       | string    | string  | string | string | string   | string | string | string | 

-------------------------------------------------------------------------------------------

*bu 6, Opera 11 ve Internet Explorer 9, Firefox 13, Chrome için geçerlidir. Diğer tarayıcılar ve sürümleri kontrol okuyucu için bir alıştırma olarak bırakılmıştır.

Not:Number, Boolean ve özel olanlar gibi nesneler bazı durumlarda* *39, ... ... belirttiği gibi operatör mutlaka dize bir sonuç yok. İlkel dönüşüm için nesne uygulanmasına bağlı olarak değişebilir. Örneğin var o = { valueOf:function () { return 4; } }; o 2; değerlendirme 6, number, o '2' değerlendirme '42', string üreten bir üretir.

Genel bakış tablo oluşturuldu nasıl görmek http://jsfiddle.net/4EjXd/ ziyaret edin

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FRED

    FRED

    1 EKİM 2005
  • optionalinfo

    optionalinfo

    29 EKİM 2005
  • TheOtherMau5

    TheOtherMau5

    6 Mart 2012