我有一个名为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>
答案 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>