【问题标题】:getFullYear() in object [duplicate]对象中的getFullYear()[重复]
【发布时间】:2017-05-28 14:03:56
【问题描述】:

谁能解释为什么这不起作用:

var todayDate = new Date();
var todayYear = todayDate.getFullYear();

var User = {
  firstName: "John",
  lastName: "Doe",
  email: "email@email.com",
  dob: new Date(85, 1, 1),
  userBirthYear: dob.getFullYear(),
  age: todayYear - userBirthYear,
  url: "http://www.google.com",
  bio: "I love pizza",
  interests: ["food", "NBA", "movies"]
}

userBirthYear 似乎没有初始化。如果我将 userBirthYear 作为单独的变量移到对象之外,它可以正常工作。

【问题讨论】:

    标签: javascript


    【解决方案1】:

    dob 不是变量,它是 User 对象的属性。

    但在整个对象编译完成之前,您不能直接访问对象属性

    你可以这样做;

    var User = {
      firstName: "John",
      lastName: "Doe",
      email: "email@email.com",
      dob: new Date(85, 1, 1), 
      age: todayYear - userBirthYear,
      url: "http://www.google.com",
      bio: "I love pizza",
      interests: ["food", "NBA", "movies"]
    }
    // User object now exists, modify it any way you need
     User.userBirthYear = User.dob.getFullYear();
    

    【讨论】:

    • 错误的复制粘贴而不更改为=
    • 感谢您的快速回复!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-12
    • 2016-07-08
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多