Javascript 动态变量增量
我有几个变量Javascript 动态变量增量,javascript,jquery,variables,increment,Javascript,Jquery,Variables,Increment,我有几个变量 var itemCount = 0; var pageCount = 0; var groupCount = 0; 除了这些变量外,我还有三个按钮,其中的数据属性与这三个变量相匹配 <button type="button" data-toggle="modal" data-target="#activeQ" data-count="item">ITEM</button> <button type="button" data-toggle="moda
var itemCount = 0;
var pageCount = 0;
var groupCount = 0;
除了这些变量外,我还有三个按钮,其中的数据属性与这三个变量相匹配
<button type="button" data-toggle="modal" data-target="#activeQ" data-count="item">ITEM</button>
<button type="button" data-toggle="modal" data-target="#activeQ" data-count="page">PAGE</button>
<button type="button" data-toggle="modal" data-target="#activeQ" data-count="group">GROUP</button>
您只需使用
窗口['varName']
即可访问变量:
$('#activeQ').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
var aCat = button.data('count');
window[aCat+"Count"]++;
console.log(window[aCat+"Count"]);
});
您只需使用
窗口['varName']
即可访问变量:
$('#activeQ').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
var aCat = button.data('count');
window[aCat+"Count"]++;
console.log(window[aCat+"Count"]);
});
您根本不应该使用
eval
最好的方法是将变量保存在对象中:
var counters = {
item: 0,
page: 0,
group: 0
};
$('#activeQ').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
var aCat = button.data('count');
counters[aCat]++;
console.log(counters);
});
它避免了变量污染全局空间,并将它们保持在一起,因为它们是相关的。您根本不应该使用
eval
最好的方法是将变量保存在对象中:
var counters = {
item: 0,
page: 0,
group: 0
};
$('#activeQ').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
var aCat = button.data('count');
counters[aCat]++;
console.log(counters);
});
它避免了变量污染全局空间,并将它们保持在一起,因为它们是相关的。这不是对你问题的回答,但你为什么要使用
eval
?它在很多情况下都会有问题,我看不出上面使用它的理由……这不是对你问题的回答,但你为什么要使用eval
?它在很多情况下都会有问题,我觉得上面没有理由使用它……我目前正在工作,我不得不等待这个答案的正确性。优先顺序,伙计。我现在正在工作,我不得不等着把这个答案标记正确。优先权,伙计。