BorisD
BorisD

Reputation: 2261

Create an object with properties,

I am new to javascript... I trying to create an object- "Flower". Every Flower has it properties: price,color,height...

Can somebody give me an idea how to build it?

Create an object and then change his properties?

:-)

Upvotes: 17

Views: 29676

Answers (5)

Niels
Niels

Reputation: 49919

Have an object, where you can also bind functions to. The following should be used if you want to have multiple Flower objects, because you can easily create new Flowers and they will all have the functions you have added:

function Flower(price, color, height){
    this.price = price;
    this.color= color;
    this.height= height;

    this.myfunction = function()
    {
        alert(this.color);
    }
}

var fl = new Flower(12, "green", 65);
fl.color = "new color");

alert(fl.color);
fl.myfunction();

If you want to have a sort of array just use an object literal, but you need to set the properties and functions for each Object you create.

var flower = { price : 12, 
               color : "green",
               myfunction : function(){
                   alert(this.price);
               }
};
flower.price = 20;
alert(flower.price);
alert(flower.myfunction());

Upvotes: 12

Nir Geier
Nir Geier

Reputation: 21

Here is a pattern to create object with public/private section(s)

var MyObj = function()
{
    // private section
    var privateColor = 'red';

    function privateMethod()
    {
        console.log('privateMethod. The color is: ', privateColor);
    }

    // The public section
    return
    {
        publicColor : 'blue',
        publicMehtod: function()
        {
            // See the diffrent usage to 'this' keyword
            console.log('publicMehtod. publicColor:', this.publicColor, ', Private color: ', privateColor);
        },
        setPrivateColor: function(newColor)
        {
            // No need for this
            privateColor = newColor;
        },
        debug: function()
        {
            this.publicMehtod();
        }
    };
}

var obj1 = new MyObj();
obj1.publicMehtod();
obj1.setPrivateColor('Yellow');
obj1.publicMehtod();

var obj2 = new MyObj();
obj2.publicMehtod();

Upvotes: 2

Premanshu
Premanshu

Reputation: 626

var flower = {"propertyName1": propertyValue1, "propertyName2": propertyValue}; 

To retrieve the values:

var price = flower.price;

To change property values:

flower.price = newPrice;

Upvotes: 0

Dezigo
Dezigo

Reputation: 3256

flower= {
 price : function() { 
     console.log('Price is 78 $'); 
 },
 color: 'red',
 height : 23
};

flower.price();
flower.height ;

Upvotes: 22

abcde123483
abcde123483

Reputation: 3905

var flower = {"height" : 18.3, "price":10.0, "color":"blue"}

Upvotes: 5

Related Questions