javascript - 发送用户定义的对象作为参数并存储在数组中并获取所需的值

标签 javascript

这里的 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].firstNamestoryBook.author[0].lastName - 作为 storyBook.author[0] === mrX.

您无法使用 this 获取 storyBook 实例,即 this keyword仅在方法和构造函数中有意义。

关于javascript - 发送用户定义的对象作为参数并存储在数组中并获取所需的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25382298/

相关文章:

javascript - 如何使用 Meteor 空格键模板和每行的行号渲染表格?

javascript - 从数据库javascript获取数据

javascript - 基于项目数组在链中执行方法

javascript - 如何对使用数据列表的文本输入的 keyup 和项目选择执行操作?

javascript - 使用 highcharts 显示来自 API 的数据

javascript - Cordova/Phonegap 3.1 键盘(仍然)覆盖聚焦的表单字段 - iOS 7

javascript - 合并 2 个具有不同值类型的数组

javascript - 相当于 PHP gmdate

javascript - 第一次函数返回未定义,其他时候它有效吗?使用 Jquery、Javascript、Ajax

javascript - 如何找出创建 bootstrap-material 的位置