javascript - 如何从 JavaScript 中的对象键值返回数组?

标签 javascript jquery arrays object

所以我有以下代码:

var structures = {

    loginStructure : function(){

        return structure = [
            '<form name="',opts.formClass,'" class="',opts.formClass,'" method="post" action="#">',
                '<fieldset class="',opts.fieldsWrapper,'">',
                    '<fieldset class="',opts.userWrapper,'">',
                        '<label for="',opts.userInt,'" class="',opts.userLbl,'"><img src="',opts.userIcon,'" alt="',opts.userName,'" /></label>',
                        '<input type="text" name="',opts.userInt,'" class="',opts.userInt,'" placeholder="',checkNameLenght(opts.userName,namesLenght.userNameLenght,16,'Username'),'" value="" autocomplete="off" />',
                    '</fieldset>',
                    '<fieldset class="',opts.passWrapper,'">',
                        '<label for="',opts.passInt,'" class="',opts.passLbl,'"><img src="',opts.passIcon,'" alt="',opts.passName,'" /></label>',
                        '<input type="password" name="',opts.passInt,'" class="',opts.passInt,'" placeholder="',checkNameLenght(opts.passName,namesLenght.passNameLenght,16,'Password'),'" value="" autocomplete="off" />',
                    '</fieldset>',
                    '<fieldset class="',opts.btnWrapper,'">',
                        '<button type="submit" name="',opts.btnInt,'" class="',opts.btnInt,'">',checkNameLenght(opts.btnName,namesLenght.btnNameLenght,7,'Login'),'</button>',
                    '</fieldset>',
                '</fieldset>',
                '<div class="toogle-button">',
                    '<ul class="inside">',
                        '<li class="toogle"><a><img src="assets/gfx/toogle.png" alt="Back" /></a></li>',
                    '</ul>',
                '</div>',
            '</form>',
            '<div class="toogle-buttons">',
            '</div>'
        ];
    }

}

这会返回(如果我这样做 console.log(structurals.loginStructure) )只是一个 function() 。有没有办法让它返回我在那里的实际数组?

它的目的是将多个数组定义为对象键(如果可以返回这样的东西),因为它看起来更容易。或者有更好的方法吗?

最佳答案

你想要:

structures.loginStructure();

structures.loginStructure只是返回对函数的引用,而不是执行函数并返回其结果。添加()到它的末尾来执行它并返回它的结果。

或者,也许更好的是,不要将其编写为函数。只需声明loginStructure: ['<form name... 。基本上,只需删除 function(){return structure = 。这里需要注意的一个显着区别是,opts 的任何值都将立即计算,而不是推迟到稍后执行函数时 - 所以请不要盲目地将代码更新为此。

关于javascript - 如何从 JavaScript 中的对象键值返回数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8865054/

相关文章:

javascript - 根据条件显示和隐藏子 div

javascript - 如何使用后端发送的json数据

javascript - 使用json在html中构建树结构

c - 我如何使用指针在该数组(函数)内部移动而不是数组订阅

php - 按字母顺序对数组进行排序php

javascript - 让 jquery 标签插件在 IE 中工作

javascript - 在 v8 中实现无限列表

javascript - 在 HTMLCollection 上使用 .getElementsByTagName

javascript - 防止 MeteorJS 集合中的口是心非(通过表单)

java - 带数组的字符串输入