gpt4 book ai didi

JavaScript - 有什么方法可以动态创建对象的新实例吗?

转载 作者:行者123 更新时间:2023-12-02 14:42:18 27 4
gpt4 key购买 nike

我正在开发一个小项目,我需要使用表单字段数据创建对象。简而言之,我有一个构造函数,可以从每个表单字段中检索值,如下所示:

var Task = function() {
this.title = document.getElementById("task-title").value;
this.date = document.getElementById("task-date").value;
this.option = document.getElementById("task-option").value;
}

我需要的是每次有人单击提交按钮时创建一个新的对象实例。到目前为止我所拥有的是:

var submitBtn = document.getElementById('#someID');
submitBtn.addEventListener('click', function(event) {
event.preventDefault();
var newTask = new Task();
});

它的工作原理是创建一个对象,但每次按下按钮时该对象都会被覆盖。每次按下按钮时,我都需要创建一个新的对象实例。

这可能吗?如果没有,是否有比构造函数更可行的替代方案?非常感谢。

最佳答案

您在 enventlistener 中定义 newTask 变量,然后立即将新任务分配给它。您的代码正在执行您告诉它执行的所有操作。即,创建一个新变量并为其分配一个新的任务实例。函数结束后,newTask 被销毁,因为没有什么可做的,并且代码中的其他地方都无法访问它。

你为什么不试试这个:

var submitBtn = document.getElementById('#someID');
var myTasks = [];
submitBtn.addEventListener('click', function(event) {
event.preventDefault();
myTasks.push(new Task());
});

关于JavaScript - 有什么方法可以动态创建对象的新实例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36917422/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com