繁体   English   中英

如何在构造函数中向数组添加对象

[英]How to add object to array in constructor

我使用JavaScript编程,并创建了一个名为users的数组和一个user对象的构造函数。 每次创建新对象时,我都想将其添加到数组中。

var users = [];


function user(username, password){
    this.username = username;
    this.password = password;
    users[users.length-1] = this;
};

var joe = new user('Joe', "joe100");

上面的方法似乎不起作用。 如何在构造函数中向数组添加对象?

“用户”是一个空数组,这意味着在您访问构造函数时其长度为0。 因此,将“ this”分配给length-1意味着将“ this”分配给“ -1”索引 ...这就是为什么它不起作用的原因。...摆脱-1,或者...

改用javascript array.push()函数添加到您的数组中

在W3Schools网站上查看示例... Array#push

只需从您的代码中删除-1,它将看起来像下面这样

var users = [];


function user(username, password){
    this.username = username;
    this.password = password;
    users[users.length] = this;
};

var joe = new user('Joe', "joe100");

适合您的HTML演示代码示例

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
var users = [];


function user(username, password){
    this.username = username;
    this.password = password;
    users[users.length] = this;
};

var joe = new user('Joe', "joe100"),l = new user('ll', "ll99");

document.getElementById("demo").innerHTML = users[0].username+"   ---  "+users[0].password+"<br/>"+users[1].username+"   ---  "+users[1].password;
</script>

</body>
</html>

我认为这会对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM