创建一个具有属性的对象。

16
我刚开始学习 JavaScript... 我试图创建一个对象 - "Flower"。 每朵花都有它的属性:价格,颜色,高度...
有人可以给我一些建议如何构建它吗?
创建一个对象,然后更改它的属性?
:-)

一个普通的JavaScript对象?你不需要jQuery。 - Pekka
5个回答

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

flower.price();
flower.height ;

适用于单例对象。 - M. Jahedbozorgan

12

有一个对象,你也可以将函数绑定到它上面。如果你想要拥有多个Flower对象,那么应该使用下面的方法,因为你可以轻松地创建新的Flowers,并且它们都将拥有你添加的函数:

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();
如果你想要一个类似数组的东西,只需使用对象字面量,但你需要为每个创建的对象设置属性和函数。
var flower = { price : 12, 
               color : "green",
               myfunction : function(){
                   alert(this.price);
               }
};
flower.price = 20;
alert(flower.price);
alert(flower.myfunction());

我已经更新了我的帖子,尝试在JSON格式内部添加一个函数,并且this对象引用该元素,因此如果您想开始使用函数,则可以同时使用两者。 - Niels

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

2

这里是一个用于创建具有公共/私有部分的对象的模式

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();

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

获取值:

var price = flower.price;

更改属性值的方法如下:
flower.price = newPrice;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接