SORU
13 ŞUBAT 2010, CUMARTESİ


Nasıl bir JavaScript nesnesinin tüm yöntemleri görüntülemek için?

Tüm yöntemleri bir Javascript Nesnesi olarak kullanılabilir aşağıdaki gibi bir yol istedim

 alert( show_all_methods( Math ) );

abs, acos, asin, atan, atan2, ceil, cos, exp, kat, günlük, max, min, pow, karışık,yuvarlak, sın, Karekök, uyarı tan.

CEVAP
13 ŞUBAT 2010, CUMARTESİ


Sayısız olsun ya da olmasın Object.getOwnPropertyNames() bir nesneye ait tüm özellikleri almak için kullanabilirsiniz. Örneğin:

console.log(Object.getOwnPropertyNames(Math));
//-> ["E", "LN10", "LN2", "LOG2E", "LOG10E", "PI", ...etc ]

O zaman filter() tek yöntem elde etmek için kullanabilirsiniz:

console.log(Object.getOwnPropertyNames(Math).filter(function (p) {
    return typeof Math[p] === 'function';
}));
//-> ["random", "abs", "acos", "asin", "atan", "ceil", "cos", "exp", ...etc ]

ES3 tarayıcılarda (ve daha düşük IE 8), yerleşik nesnelerin özelliklerini sayısız değil. window document gibi nesneleri yerleşik değil, tasarım tarayıcı ve en olası sayısız tarafından tanımlanmışlar.

ECMA-262 Edition 3:

Genel Nesne
Benzersiz bir küresel var oluşturulan nesne (15.1), önce kontrol herhangi bir yürütme içeriği girer. Başlangıçta küresel nesne var aşağıdaki özellikler:

• Yerleşik Matematik, Sicim gibi nesneleri, Tarih, parseınt, vb.Bu özelliklere sahip { DontEnum }.
• Ek ana bilgisayar tanımlı özellikleri. Bu bir içerebilir küresel bir mülk kendisi; örneğin nesne, HTML belge nesne modeli pencere genel nesnenin özellik. küresel nesnesinin kendisi.

Kontrol olarak icra bağlamlarını girer ve ECMA kodu yürütülür ek özellikler eklenebilir genel nesne ve ilk özellikleri değiştirilebilir.

Bu nesneler, Genel nesne özellikleri sayısız değil mi anlamına geldiğini belirtmeliyim. Eğer standart belgesine geri kalanında bakarsanız, yerleşik bu nesnelerin özellikleri ve yöntemleri çoğunun üstünde { DontEnum } özniteliği göreceksiniz.


Güncelleme: bir adam ÇOK kullanıcı, CMS, benim dikkatimi IE bug regarding { DontEnum } getirdi.

DontEnum özniteliği, [Microsoft] kontrol etmek yerine JScript öznitelik DontEnum olan nesnenin prototip zincirinde aynı adlı bir özellik olduğu herhangi bir nesnenin herhangi bir özelliği üzerinde atlayın.

Kısacası, nesne özellikleri adlandırırken dikkat edin. Eğer bir yerleşik aynı adı taşıyan prototip özelliği veya yöntemi ise orada IE for...in bir döngü kullanırken üzerine atlar.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andrea Lewis

    Andrea Lewis

    14 Mart 2013
  • Shon Gonzales

    Shon Gonzale

    5 EKİM 2014
  • YEAH1TV

    YEAH1TV

    19 ŞUBAT 2009