0

文字列を2つの変数に変換したいと思います。

変数を作成し、部分文字列を使用して分割していますが、機能していないようです。

アラートメッセージを作成すると、分割したい元の変数が表示されます(つまり、そこに何かがあることがわかります)

私のコードは次のようになります。

// variable 'ca' is set from a XML Element Response
alert(ca); // displays a string (eg. 123456789) - which does display fine
alert(ca.substring(0,1));  // should alert 1 but it stops and nothing is displayed

しかし、 ca="123456789";を追加します。以下のように、それは動作します。

ca = "123456789";
alert(ca); // displays a string (eg. 123456789) - which does display fine
alert(ca.substring(0,1));  // should alert 1 but it stops and nothing is displayed

ただし、変数caには何かが設定されており、部分文字列が使用される直前に表示されます。

誰かが私が間違っているかもしれないことを知っていますか?

4

2 に答える 2

2

変数に文字列が含まれていません。他の何か、おそらく数値が含まれています。

値を文字列に変換して、文字列メソッドを使用できるようにします。

ca = ca.toString();
于 2012-06-05T07:47:53.093 に答える
1

私の推測ではca、文字列ではなく数字が含まれています。変数を文字列にキャストすると機能しますか?

alert(String(ca).substring(0,1));

typeof(変数に含まれるものを演算子で確認できることに注意してください。

console.log(typeof ca);
// number
console.log(typeof String(ca));
// string

更新:両方ca.toString()とが機能するはずですが、caがまたはの場合にも機能するため、String(ca)個人的には好みます。String(ca)nullundefined

于 2012-06-05T07:55:15.533 に答える