这里book
构造函数创建书籍实例,person
构造函数创建新作者实例。然后由person创建的instace作为参数发送到book构造函数并使用 this.author ..但我很难提醒故事书实例的作者全名的价值。我可以获得我想要的价值。因为我已经将一个对象实例发送给另一个构造函数,所以如何操纵这个关键字。我的意思是
this.author有一个对象whis有两个属性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>
答案 0 :(得分:2)
书籍的.author
属性包含一个数组。您需要使用storyBook.author[0].firstName
和storyBook.author[0].lastName
- storyBook.author[0] === mrX
。
您不能使用this
来获取storyBook
实例,this
keyword仅在方法和构造函数中有意义。