var str = name.toUpperCase();
var ch = new Array();
ch = str.split('');
for(var i=0;i<7;i++)
{
if(ch = null) {
result_code.replace(
pos.toString()+pos.toString()+pos.toString()+pos.toString(),
"FFFF");
} else {
var temp = parseInt(ch[i]);
var temp_integer = 64;
if(temp<=122 & temp>=97) {
var pos = i+1;
result_code.replace(
pos.toString()+pos.toString()+pos.toString()+pos.toString(),
(temp - temp_integer)+40);
}
}
}
此代码在此行result_code.replace(pos.toString()+pos.toString()+pos.toString()+pos.toString(), (temp - temp_integer)+40);
处创建错误。
带下划线的信息是此部分(temp - temp_integer)+40
。
显示的错误是Argument type Number is not assignable to parameter type String|Function
。
这段代码有什么问题?我正在使用WebStorm。我可能只是犯了一个愚蠢的错误。提前谢谢!
答案 0 :(得分:18)
replace
方法接受字符串或函数作为第二个参数。将您的值转换为字符串:((temp - temp_integer)+40).toString()
。
答案 1 :(得分:3)
(temp - temp_integer)+40
是一个数值,replace
想要一个字符串。只需使用:
(temp - temp_integer)+40+""
假设您想要数字的字符串表示(例如,65
变为"65"
)。如果您希望代码点上的字符(65
变为"A"
),则应使用String.fromCharCode()
。