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 i
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());
var flower = {"propertyName1": propertyValue1, "propertyName2": propertyValue};
To retrieve the values:
var price = flower.price;
To change property values:
flower.price = newPrice;
flower= {
price : function() {
console.log('Price is 78 $');
},
color: 'red',
height : 23
};
flower.price();
flower.height ;
var flower = {"height" : 18.3, "price":10.0, "color":"blue"}
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();