传递变量作为javascript / jquery函数的引用

时间:2015-08-13 19:49:11

标签: javascript jquery

我有一个名为pages的函数,我想通过不再重复代码来有选择地传递变量,这可能吗? 旧代码

        <script>
        var pages= (function() { 
                    var config = {
                            $config1: $( '#block1'),
                            $config2: $( '#block-bottom1') 
                        };
                   //more codes
})();
        </script>

这是我的尝试

     <script>
            var pages= (function(x) { 
                        alert(x);
                        var config = {
                                $config1: $( '#block'+x),
                                $config2: $( '#block-bottom'+x) 
                            };
                       //more codes
    })();
            </script>

2 个答案:

答案 0 :(得分:2)

你可能想要这个:

<script>
    var pages = function(x) { 
        alert(x);
        var config = {
            $config1: $( '#block'+x),
            $config2: $( '#block-bottom'+x) 
        };
        //more codes
    };
    //Then you can call pages like this
    var a = pages("page1");
    var b = pages("page2");
</script>

答案 1 :(得分:1)

基本上,你的问题是你的功能声明是错误的,你只是做了一个调用。省略括号并在之后正常使用您的函数,这里有一个演示概念的片段:

 <html>
  <head>
  <script>
     var pages= (function(x) { 
        alert(x);
        var config = {
           $config1: $( '#block'+x),
           $config2: $( '#block-bottom'+x) 
        };
                       //more codes
    });
  </script>
 </head>
 <body>
    <input type="button" onclick="pages(1)"> button 1</input> 
    <input type="button" onclick="pages(2)"> button 2</input> 
 </body>
</html>