我正在尝试执行以下代码段。
var sUserID = "HELLO".toUpperCase();
var oAlphabets = {
"A": 1,
"B": 2,
"C": 3,
"D": 4,
"E": 5,
"F": 6,
"G": 7,
"H": 8,
"I": 9,
"J": 10,
"K": 11,
"L": 12,
"M": 13,
"N": 14,
"O": 15,
"P": 16,
"Q": 17,
"R": 18,
"S": 19,
"T": 20,
"U": 21,
"V": 22,
"W": 23,
"X": 24,
"Y": 25,
"Z": 26
};
var iEncoded = 0, sEncoded;
for (var i in sUserID) {
var sEval = "oAlphabets."+sUserID[i];
iEncoded = iEncoded + eval(sEval);
}
if(iEncoded <100){
sEncoded = "0"+iEncoded;
}
else{
sEncoded = ""+iEncoded;
}
它可以在Chrome中按预期方式工作,并返回结果078。但是,它给出了错误“ Expected;”。在IE 11中。
这里的问题是什么以及如何消除它。
此致
Fahad Hamsa
答案 0 :(得分:2)
使用eval的理由为零。只需使用括号符号就可以将其与变量一起使用。
iEncoded += oAlphabets[sUserID[i]];