首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对象中的方法在函数中

对象中的方法在函数中
EN

Stack Overflow用户
提问于 2021-01-15 01:02:02
回答 1查看 27关注 0票数 1

我试图在一个对象中编写一个方法,这个对象在一个函数中。如下所示:

代码语言:javascript
复制
function createMountain(name, continent, heightInMeters) {
  var object = {
    "name": name,
    "continent": continent,
    "heightInMeters": heightInMeters,
    isHigherThan: function() {}
  }
  return object
}

var mountains = [];

var everest = createMountain("Everest", "Asia", 8849)
var montblanc = createMountain("Mont Blanc", "Europe", 4809)
var denali = createMountain("Denali", "North America", 6190)

mountains.push(everest, montblanc, denali)

方法isHigherThan应该接受一个山体对象作为参数,如果山体比方法中传递的山体高,则返回true,否则返回false。

代码语言:javascript
复制
everest.isHigherThan(denali) //true
montblanc.isHigherThan(everest) //false

我怎么能写这样的函数呢?我正在苦苦挣扎,没有找到一个解决方案。它也应该没有ES6。

提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2021-01-15 01:32:29

解决方案

代码语言:javascript
复制
function createMountain(name, continent, heightInMeters) {
  return {
    name: name,
    continent: continent,
    heightInMeters: heightInMeters,
    isHigherThan: function (mountain) {
      return this.heightInMeters > mountain.heightInMeters;
    },
  };
}
// let is from es6
let everest = createMountain("Everest", "Asia", 8849);
let montblanc = createMountain("Mont Blanc", "Europe", 4809);
let denali = createMountain("Denali", "North America", 6190);

console.log(everest.isHigherThan(denali));
console.log(montblanc.isHigherThan(everest));

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65723472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档