这里的 book
构造函数创建了书籍的实例,而 person
构造函数创建了新的作者实例。然后将 person 创建的实例作为参数发送给 book 构造函数并存储在使用 this.author 的数组中。但是我很难提醒故事书实例的作者全名的值。我怎样才能获得我想要的值。正如我所拥有的那样将一个对象实例发送到另一个构造函数,那么如何操作此关键字。我的意思是
this.author 有一个对象,它有两个属性 this.firstname 和 this.lastname
所以我可以说this.author>[{this.lastname;this.firstname}]
那么我怎样才能从困惑的 this.
中提醒一个值??
代码
<html>
<body>
<script>
function Person(lastname,firstname){
this.lastname=lastname;
this.firstname=firstname;
}
var mrX=new Person("X","mr");
function Book(name,price,page){
this.name=name;
this.price=price;
this.page=page;
this.author=new Array(arguments.length-3);
for(i=0;i<arguments.length-3;i++){
this.author[i]=arguments[i+3];
}
}
var storyBook=new Book('vuter golpo','200','60',mrX);
alert(this.author.firstname);
</script>
</body>
</html>
最佳答案
书籍的 .author
属性包含一个数组。您需要使用 storyBook.author[0].firstName
和 storyBook.author[0].lastName
- 作为 storyBook.author[0] === mrX
.
您无法使用 this
获取 storyBook
实例,即 this
keyword仅在方法和构造函数中有意义。
关于javascript - 发送用户定义的对象作为参数并存储在数组中并获取所需的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25382298/