我有两个变量,如:
<script language="javascript" type="text/javascript">
var count = 1;
calc_my_project_ + count = Math.round( count * 268 / 100); // It shoud be calc_my_project_1 and next time it shoud be calc_my_project_2
count += count + 1;
</script>
现在结果是calc_my_project_ + count。我怎么能这样做?
编辑:这是我的主要代码:
<script language="javascript" type="text/javascript">
var count = 1;
var str = 'calc_my_project_';
var str2 = 'my_pro_';
var result = str + count;
result = Math.round( @Html.DisplayFor(x => item.ProgressPercent) * 268 / 100);
var secresult = str2 + count;
secresult = "-" + result + "px 0";
var jq3 = jQuery.noConflict();
jq3(document).ready(function () {
jq3("#bar-pro-@barcount1st").css({ "background-position": secresult });
if (@Html.DisplayFor(x => item.ProgressPercent) == 100) {
jq3("#bar-pro-@barcount1st").css({ "background-image": "none" });
jq3("#bar-pro-@barcount2st").css({ "background-image": "none" });
};
});
count++;
</script>
结果和secresult返回一个固定值我不想这样。
答案 0 :(得分:1)
你可以这样做:
var myObj = {};
myObj['my_project_' + count] = 'some value';
count++;
答案 1 :(得分:0)
您可以将calc_my_project_变量存储在一个数组中,每次迭代它
obj = new Array(calc_my_project_1, calc_my_project2, ...);
obj[0] = 1;
obj[1] = 2;
...
答案 2 :(得分:0)
尝试这样的事情
<script language="javascript" type="text/javascript">
var count = 1;
var str = 'calc_my_project_';
var result = str + count = Math.round( count * 268 / 100);
count += count + 1;
</script>
答案 3 :(得分:0)
使用array。
var myCount = new Array();
var count = 0;
$("#click").click(function() {
myCount[count] = Math.round( count * 268 / 100);
console.log(count + ' - ' + myCount[count]);
count++;
});
答案 4 :(得分:0)
如果要设置“全局”变量,可以使用全局变量容器窗口:
window["calc_my_project_"+ count ] = Math.round( count * 268 / 100);
或者你可以使用eval,但涉及的风险更大:
eval ("calc_my_project_"+ count +"= Math.round( count * 268 / 100)") ;
否则,如果您不需要全局变量,您可以使用 Baszz 提供的解决方案