SORU
19 Mayıs 2009, Salı


Nasıl JavaScript bir ad alanı ilan muyum?

Nasıl nesneleri ve benim işlevler aynı adlı diğer nesneleri ve fonksiyonları üzerine değil JavaScript ile bir ad alanı oluşturabilirim? Aşağıdaki kullandım:

if (Foo == null || typeof(Foo) != "object") { var Foo = new Object();}

Bunu yapmanın daha zarif ya da kısa ve öz bir yolu var mı?

CEVAP
10 Mayıs 2011, Salı


Bu yaklaşım, Kurumsal bir WordPress kullanmak sitesinde, here kullanıyorum

İşte onların örneği, özel ve ortak özelliklerini ve işlevlerini bildirmek için nasıl gösteren. Her şey kendi kendine çalışan anonim bir fonksiyonu olarak yapılır.

(function( skillet, $, undefined ) {
    //Private Property
    var isHot = true;

    //Public Property
    skillet.ingredient = "Bacon Strips";

    //Public Method
    skillet.fry = function() {
        var oliveOil;

        addItem( "\t\n Butter \n\t" );
        addItem( oliveOil );
        console.log( "Frying "   skillet.ingredient );
    };

    //Private Method
    function addItem( item ) {
        if ( item !== undefined ) {
            console.log( "Adding "   $.trim(item) );
        }
    }    
}( window.skillet = window.skillet || {}, jQuery ));

Eğer öyleyse kamu üyeleri erişmek istiyorsanız, sadece tava giderdim.() kızartma veya tavada.malzemeler

Güzel olan ne şimdi tam olarak aynı sözdizimini kullanarak ad genişletebilirsiniz.

//Adding New Functionality to the Skillet
(function( skillet, $, undefined ) {
    //Private Property
    var amountOfGrease = "1 Cup";

    //Public Method
    skillet.toString = function() {
        console.log( skillet.quantity   " "   
                     skillet.ingredient   " & "   
                     amountOfGrease   " of Grease" );
        console.log( isHot ? "Hot" : "Cold" );
    };    
}( window.skillet = window.skillet || {}, jQuery ));

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Defence Videos

    Defence Vide

    13 Mayıs 2013
  • pucksz

    pucksz

    24 Mart 2006
  • xXGAMERrs_Xx

    xXGAMERrs_Xx

    31 Temmuz 2014