2012-06-05 2 views
0

Я хотел, чтобы преобразовать строку в 2-х переменных ..разбить строку на 2 переменные в JavaScript

Я создал переменную, и я использую подстроку разделить его, но я не могу показаться, чтобы получить его за работой.

Если я создаю предупреждающее сообщение отобразить его это оригинальная переменная, что я хочу разделить (так что я знаю, что есть что-то есть)

Мой код выглядит следующим образом:

// 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 

однако переменная Ца-то установлено и дисплей прямо перед использованием подстроки ..

Кто-нибудь знает, что я могу делать неправильно?

+0

Если я должен угадать, возможно, вы ищете значение 'ca', пока вызов ajax все еще работает ... можете ли вы разместить соответствующий код, пожалуйста? – fcalderan

+0

Ваш xml-ответ может иметь несколько пробелов в начале. Попробуйте - alert ('>>' + ca.substring (0,1) + '<<'); ' – Dandy

+0

Пожалуйста, скажите мне, что вы проверили ошибки на странице ... – PeeHaa

ответ

2

Ваша переменная не содержит строку, она содержит что-то еще, возможно, число.

Преобразовать значение в строку, чтобы иметь возможность использовать методы строковых на нем:

ca = ca.toString(); 
+0

Вы, где место на, это был число, и мне нужно было преобразовать его в строку. - Твоя спасательная жизнь. – Aaron

+0

@Aaron: В этом случае отметьте этот ответ как «принятый» (нажмите зеленую галочку). – Martijn

1

Я думаю, что ca не содержит строку, но число. Это работает, когда вы передаете переменную в строку?

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

(Обратите внимание, что вы можете проверить, что переменная содержит с typeof оператора:

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

UPDATE: как ca.toString() и String(ca) должны работать, но я лично предпочитаю String(ca) так, что также будет работать, если ча null или undefined.