JavaScript 类型错误 : cannot read property 'species' of undefined

标签 javascript

我正在 Codecademy 上学习 Javascript,我正在做一个任务,我必须记录两个人的物种(智人)和年龄。它返回一个 TypeError,这是一种我还没有见过的错误类型。错误是:

TypeError: Cannot read property 'species' of undefined

我的代码是:

function Person(name,age) {
  this.name = name;
  this.age = age;
  this.species = "Homo Sapiens";
}

var sally = Person("Sally Bowles",39);
var holden = Person("Holden Caulfield",16);
console.log("sally's species is " + sally.species + " and she is " + sally.age);
console.log("holden's species is " + holden.species + " and he is " + holden.age);

非常感谢任何帮助或建议

最佳答案

您必须使用new运算符创建对象类型的实例:

var sally = new Person('Sally Bowles', 39);
var holden = new Person('Holden Caulfield', 16);

console.log( sally.species, holden.species );  // "Homo Sapiens"

关于JavaScript 类型错误 : cannot read property 'species' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24507900/

相关文章:

javascript - Angular 9 Google Maps API Place Autocomplete

javascript - 使用 RequireJS 和 Grunt 获取空白页面

javascript - 如何在 Vanilla JS 中显示和隐藏文本?

javascript - 如何根据 Javascript 中的相同值对数组进行排序

javascript - 带文件上传的多步骤表单

javascript - Google Analytics - 在 JS 中使用parent.location.hash没有效果

javascript - Ajax 和状态 302

javascript - 合并两个匹配一个id的数组

javascript - 使用 jQuery 和 PHP 加载语言环境变量

javascript - 将上传的图片 url 传递给 javascript