有人可以帮我避免使用 eval() 吗?
Could someone help me avoid using eval()?
我有这个代码:
var Monday = scheduledb({
"monday": true
}).count();
var Tuesday = scheduledb({
"tuesday": true
}).count();
var Wednesday = scheduledb({
"wednesday": true
}).count();
var Thursday = scheduledb({
"thursday": true
}).count();
var Friday = scheduledb({
"friday": true
}).count();
$$(".day-selector").each(function (index) {
$$(this).text(eval($$(this).attr("id")) + " classes");
});
我想做的是使用我从元素的 id 属性中获得的值并为它进行数据库查找。但是 .attr()
returns 一个字符串,我无法从中获取变量值。如果不使用 eval() 怎么办?
使用更好的模型,这样您就不需要使用 eval
var days = {
Monday : scheduledb({"monday": true}).count(),
Tuesday : scheduledb({"tuesday": true}).count(),
...
};
比括号表示法:
$$( this ).text(days[$$( this ).attr("id")])
或者干脆放弃查找
var obj = {};
obj[$$( this ).attr("id").toLowerCase()] = true;
$$( this ).text( scheduledb(obj).count() )
我有这个代码:
var Monday = scheduledb({
"monday": true
}).count();
var Tuesday = scheduledb({
"tuesday": true
}).count();
var Wednesday = scheduledb({
"wednesday": true
}).count();
var Thursday = scheduledb({
"thursday": true
}).count();
var Friday = scheduledb({
"friday": true
}).count();
$$(".day-selector").each(function (index) {
$$(this).text(eval($$(this).attr("id")) + " classes");
});
我想做的是使用我从元素的 id 属性中获得的值并为它进行数据库查找。但是 .attr()
returns 一个字符串,我无法从中获取变量值。如果不使用 eval() 怎么办?
使用更好的模型,这样您就不需要使用 eval
var days = {
Monday : scheduledb({"monday": true}).count(),
Tuesday : scheduledb({"tuesday": true}).count(),
...
};
比括号表示法:
$$( this ).text(days[$$( this ).attr("id")])
或者干脆放弃查找
var obj = {};
obj[$$( this ).attr("id").toLowerCase()] = true;
$$( this ).text( scheduledb(obj).count() )