Javascript 类仅显示其中一个对象

标签 javascript class object

我正在尝试控制台记录“选项”参数,但出于某种原因它只显示第一个对象?什么以及如何让它控制台记录“新验证器”中的所有对象?

HTML

<form>
<input type="text" id="register_username">
<input type="password" id="register_password">
</form>

Javascript

    var Validator = function (options) {
        console.log(options);
    };
    var register_username = document.getElementById("register_username");
    var register_password = document.getElementById("register_password");

    document.getElementById("register_submit").addEventListener("click", function (e) {
        e.preventDefault();
        var register_val = new Validator(
                {
                    element: register_username,
                    type: "str",
                    min: 1,
                    max: 20
                },
                {
                    element: register_password,
                    type: "str",
                    min: 4,
                    max: 20
                }
        );

    }, false);

控制台日志

element: <input id="register_username" class="register_username" placeholder="Username" name="register_username" autocomplete="off" type="text">
max: 20
min: 1
type: "str"

最佳答案

您可以使用 arguments 对象访问所有传递给函数的参数。它是一个类似于对象的数组,其中包含用于调用该函数的所有参数信息。`这是一个 javascript 关键字。

来自 MDN

The arguments object is a local variable available within all (non-arrow) functions. You can refer to a function's arguments within the function by using the arguments object. This object contains an entry for each argument passed to the function, the first entry's index starting at 0.

 var Validator = function (options) {
        console.log(arguments);
    };
    var register_username = document.getElementById("register_username");
    var register_password = document.getElementById("register_password");

    document.getElementById("register_submit").addEventListener("click", function (e) {
        e.preventDefault();
        var register_val = new Validator(
                {
                    element: register_username,
                    type: "str",
                    min: 1,
                    max: 20
                },
                {
                    element: register_password,
                    type: "str",
                    min: 4,
                    max: 20
                }
        );

    }, false);
<form>
<input type="text" id="register_username">
<input type="password" id="register_password">
<input type="button" id="register_submit" value="click">

</form>


   

关于Javascript 类仅显示其中一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48066486/

相关文章:

php - 如何从 “Elastica_ResultSet”对象获取结果

javascript - Angular 数据表 : Unknown provider

javascript - 从 Javascript 类中的静态方法引用成员函数的正确方法

javascript - 如何获取javascript文件中的php session 值

c++ - 类没有命名类型错误

javascript - 在类内和类外定义 JavaScript 函数

javascript - 为什么我的对象中的函数返回未定义?

arrays - Angular2, typescript :How to push array of objects into another array of objects with only a few fields of the object

JavaScript:查找两个日期之间的差异(以年为单位)

javascript - 将对象从 Angularjs 传递到 MVC Controller 并映射到类对象