15
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 を使用しています。私はおそらくばかげた間違いを犯しています。前もって感謝します!

4

2 に答える 2

20

このreplaceメソッドは、文字列または関数を 2 番目のパラメーターとして受け入れます。値を文字列に変換します: ((temp - temp_integer)+40).toString().

于 2013-06-28T01:13:21.283 に答える
3
(temp - temp_integer)+40

は数値でreplace、文字列が必要です。使用するだけです:

(temp - temp_integer)+40+""

65数値の文字列表現が必要であると仮定します (例: become "65")。そのコード ポイント (になる)の文字が必要な場合は、 の使用を検討する必要があります。65"A"String.fromCharCode()

于 2013-06-28T01:13:29.217 に答える