【问题标题】:Create an object with properties,创建具有属性的对象,
【发布时间】:2011-11-22 09:39:54
【问题描述】:

我是 JavaScript 新手... 我试图创建一个对象-“花”。 每朵花都有它的属性:价格、颜色、高度……

谁能告诉我如何构建它?

创建一个对象,然后改变他的属性?

:-)

【问题讨论】:

  • 一个普通的 JavaScript 对象?你不需要 jQuery

标签: javascript


【解决方案1】:
flower= {
 price : function() { 
     console.log('Price is 78 $'); 
 },
 color: 'red',
 height : 23
};

flower.price();
flower.height ;

【讨论】:

  • 适用于单例对象。
【解决方案2】:

拥有一个对象,您还可以将函数绑定到该对象。如果您想拥有多个 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对象指的是元素,所以如果你想开始使用函数,可以同时使用。跨度>
【解决方案3】:

这是创建具有公共/私有部分的对象的模式

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

【讨论】:

    【解决方案4】:
    var flower = {"height" : 18.3, "price":10.0, "color":"blue"}
    

    【讨论】:

      【解决方案5】:
      var flower = {"propertyName1": propertyValue1, "propertyName2": propertyValue}; 
      

      要检索值:

      var price = flower.price;
      

      更改属性值:

      flower.price = newPrice;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-28
        • 2018-04-16
        • 2010-12-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多