【问题标题】:calling function from object, within another object从对象调用函数,在另一个对象内
【发布时间】:2018-09-21 10:44:07
【问题描述】:

我有问题。我得到了一个 -> bmi: function(){with some code} - 那是一个对象(方法)中的一个函数。我想将它声明为另一个对象,只是名称 - bmi,所以我不再重复自己。

var John = {
  fullName: "John",
  mass: 74,
  height: 1.75,
  bmi: function(){
    return this.mass / this.height + this.height;
  }
}

var Mike = {
  fullName: "Mike",
  mass: 90,
  height:1.95,
  John.bmi;
}

这就是代码。我试着这样声明。

【问题讨论】:

  • 在对象字面量中声明键值对时,需要一个键。
  • bmi: John.bmi。虽然这不是首选方法..
  • 解决了我的问题,但你能告诉我为什么不喜欢这样吗?谢谢你:)

标签: javascript javascript-objects


【解决方案1】:

为什么不好好玩,创建一个构造函数呢?

function Person(data){
   var self=this;
   self.fullName= data.fullName;
   self.mass= data.mass;
   self.height= data.height;
   self.bmi= function(){
        return self.mass / self.height + self.height;
    }

    return self;
}

var john = new Person({fullName : 'john', mass : 70, height: 1.70})
var marios = new Person({fullName : 'Marios', mass : 60, height: 1.70})

console.log(john.bmi())
console.log(marios.bmi())

【讨论】:

  • 还没有学习构造函数,所以我不能使用它们,但是谢谢你:)
【解决方案2】:
var Mike = {
  fullName: "Mike",
  mass: 90,
  height:1.95,
  bmi: John.bmi;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-08
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    相关资源
    最近更新 更多