如本例所示
我正在使用 eval 使用 DOM 属性从数组中选择一个元素。尽管用户没有直接的方法来更改输入,但我希望尽可能安全,并在评估变量之前确保变量确实是整数。
以下哪一项是最好、最安全的方式?
$(".listitem").click(function(){
var id = $(this).attr("record-id");
if(!isNaN(new Number(id))){
Storage.search.nearby.currec = rowsHolder[eval(id)];
}else{
// send email to admin, shut down
}
});
或者
$(".listitem").click(function(){
var id = $(this).attr("record-id");
if(parseInt(id)){
Storage.search.nearby.currec = rowsHolder[eval(id)];
}else{
// send email to admin, shut down
}
});
更多但不是必需的信息:
基本上我从网上拉下一个大的 JSON 字符串,其中包含一组记录。在使用 for 语句( for(i in array) )从信息构建表时,我将每一行推入一个名为rowsHolder的数组中,并为 tr 赋予record-id="i"的属性。然后当用户单击该行时,我调用您在上面看到的方法。我正在将 PhoneGap 与 JQuery Mobile 一起使用。
一如既往,感谢您的意见
-D