如何使用构造函数创建对象并使用Invoked方法返回随机结果

How to Create Objects Using Constructor and Return Random Result Using Invoked Method?

本文关键字:方法 Invoked 返回 随机 结果 何使用 构造函数 创建对象      更新时间:2023-09-26

我正在尝试编写一个构造函数,该构造函数创建名为"customer"的客户对象,其中"customer"对象的每个实例都具有以下属性:

  • 名称(字符串)
  • 饮料(以串的形式),即["咖啡"、"可乐"]

这是我的代码:

 function customer(name, drink){
      this.customername = name;
      this.customerdrink = drink;
 }

另一个名为"Order"的方法应该返回随机饮料(字符串格式):

 function order(){
           return.this.name + ": " + this.drink;
      }

然后我将创建一个具有属性的"customer"对象实例:

  • 姓名:"Julie"
  • 饮料:["咖啡","可乐"]

    var customer1 = { name: "Julie", drink: ["Coffee", "Cola"] }

然后,我将调用"Order"方法返回以下随机解决方案之一:

朱莉:"可乐"

朱莉:"咖啡"

如何让它随机返回饮料类型?

编辑:

我应该这样写我的新客户实例吗?

 var customer1 = {
    name: "Julie",
    drink: ["Coffee", "Cola"],
    order: function(){
    return.this.name + ": " + this.drink;
    }
    }

如果您的意思是每个客户可以无限量地点饮料,并且每次调用order()方法时您都希望为该客户随机点一杯饮料,那么您只需要为客户的drinks属性随机选择一杯饮料?

var Customer = function(name, drinks) {
  this.drinks = drinks;
  this.name   = name;
  this.order  = function () {
    var rand  = Math.floor(Math.random()*this.drinks.length);
    console.log('ordering a '+this.drinks[rand]);
    return this.drinks[rand];
  }
}
var bob = new Customer('bob', ['Coke', 'Pepsi']);
bob.order();