简体   繁体   English

我如何发送对象作为参数Javascript

[英]How can i send objects as parameter Javascript

I need to pass an array as parameter but i have a problem, i dont know how to explain it so here is the example: 我需要将数组作为参数传递,但是我有一个问题,我不知道如何解释它,所以这里是示例:

I have this code: 我有以下代码:

var doc = document;

    var Class = {};

    Class.Validate = function(opc)
    {
        alert(opc.id);//
return Class;// when returns the object the alert trigger as expected showing "#name"
    };

Class.Validate({
    id: "#name",
})

But what im trying to do is this: 但是我想做的是这样的:

var Class = {};
    Class.Validate = function(opc)
    {
        alert(opc.name);//when the object is return show display "carlosmaria"
return Class;//

    };

Class.Validar({
    name: {field:"carlos",field:"maria"},
})

how can i archived that? 我该如何存档?

alert(opc.name) should return something like {Object object} because it's an objet. alert(opc.name)应该返回{Object object}之类的内容,因为它是对象。 The second point is that your object has twice "field" as property. 第二点是您的对象具有两次“字段”作为属性。

If you want to use an array, you should call this way: 如果要使用数组,则应这样调用:

Class.Validar({
    name: ["carlos", "maria"]
})

Then, you could loop over opc.name to concatenate a full name. 然后,您可以遍历opc.name来连接全名。 Something like this: 像这样:

Class.Validate = function(opc)
{
    var name = "";
    for (var i=0, len=opc.name.length; i<len; ++i) {
        name += opc.name[i];
    }
    alert(name);//when the object is return show display "carlosmaria"
    return Class;//
};

Consider using actual arrays (via array literals ): 考虑使用实际数组 (通过数组文字 ):

Class.Validate({
     name: ["carlos", "maria"]
});

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

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