JavaScript对象相关

45 阅读1分钟

Jonas Schmedtmann

动态获取对象值

const flystone = {
  firstName: 'sts',
  lastName: 'stoneSkyies',
  age: 2023 - 1997,
  job: 'IT',
  friends: ['Even', 'Hal', 'Peter'],
}
console.log(flystone);
console.log(flystone['firstName']);//sts

const nameKey = 'Name';
console.log(flystone['first' + nameKey]);//sts
console.log(flystone['last' + nameKey]);//stoneSkyies

const interestedIn = prompt("what do you want to know about Flystone? Choose between firstName,lastName,age,job, and friends");
if (flystone[interestedIn]) {
  console.log(flystone[interestedIn]);
} else {
  console.log('Wrong request! Choose between firstName,lastName,age,job, and friends');
}

添加

const flystone = {
  firstName: 'sts',
  lastName: 'stoneSkyies',
  age: 2023 - 1997,
  job: 'IT',
  friends: ['Even', 'Hal', 'Peter'],
}
flystone.location = 'China';
flystone['love'] = 'games';
console.log(flystone);

对象中的this

const flystone = {
  firstName: 'Sts',
  lastName: 'stoneSkyies',
  birthYeah: 1997,
  job: 'IT',
  friends: ['Even', 'Hal', 'Peter'],
  hasDriversLicense: true,

  // calcAge: function (birthYeah) {
  //   return 2023 - birthYeah;
  // }

  // calcAge: function () {
  //   return 2023 - this.birthYeah;
  // }

  calcAge: function () {
    this.age = 2023 - this.birthYeah
    return this.age;
  },

  getSummary: function () {
    return `${this.firstName} is a ${this.calcAge()} -year old ${flystone.job},and he has ${this.hasDriversLicense ? 'a' : 'no'} driver's license.`
  }
}

console.log(flystone.calcAge());
console.log(flystone.age);
// Challenge
// "Sts is a 26-year old IT, and he has adriver's license"
console.log(flystone.getSummary());

拷贝

   const params = Object.assign({}, JSON.parse(JSON.stringify(this.searchParams)))