【发布时间】:2022-06-13 14:27:41
【问题描述】:
我一直在研究 JavaScript 中的 OOP,但不知道如何比较作为参数给出的人员薪水。
pers1.compareSalary(pers2);
function person(name, job, salary) {
this.name = name;
this.job = job;
this.salary = salary;
}
var person1 = new person("Mike","JavaScript-coder",5000);
var person2 = new person("Mia","Python-coder",1500);
var person3 = new person("Jackson","Teacher",1000);
function compareSalary() {
}
我想这样做,如果我将 person1.compareSalary(person2); 添加到代码中,它将比较第 1 个人和第 2 个人的薪水。但我似乎无法理解我是如何做到的可以这样做。
编辑: 我很久以前就想通了,如果有人需要它,我想发布答案。谢谢。
function Person (name, job, salary) {
this.name = name;
this.job = job;
this.salary = salary;
}
Person.prototype.compareSalary = function (n) {
if (this.salary > n.salary){
var difference = this.salary-pers2.salary;
console.log(this.name," earns ",difference , " more than", n.name);
}else if(this.salary < n.salary){
var minus = n.salary-this.salary;
console.log(this.name, "earns ",minus,"less than",n.name);
}else{
console.log(this.name, "earns as much as ",n.name);
}
}
var pers1 = new Person("Pete", "Python Coder", 5000);
var pers2 = new Person("Jack", "Java Coder", 1500);
var pers3 = new Person("John", "FrontEnd Developer", 1000);
pers1.compareSalary(pers2);
pers3.compareSalary(pers2);
pers3.compareSalary(pers3);
【问题讨论】:
-
你是如何尝试解决这个问题的?
-
是的,但我似乎无法理解如何进行比较。因为我不能只添加 if (person1.salary
-
你为什么不能这样做?你能edit你的问题并说明它是如何不起作用的吗?
-
我想知道如何让 person1.compareSalary(person2) 工作,因为如果我添加 if (person1.salary
-
因为我真的很想学习这个,因为这已经困扰了我很多天了。我不得不跳过一些作业,因为我只是想不通,因为学校的理论页没用。
标签: javascript oop