Javascript == сравнение строк ведет себя странно - PullRequest
0 голосов
/ 05 ноября 2011

У меня есть такой код JavaScript:

if ( data == 'error_getting_solution_comments' )
{
    alert ("test");
}

И по какой-то причине оператор if не совпадает со строкой, даже если строка данных имеет то же значение.

AnyИдея, почему это может произойти?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 05 ноября 2011

То, что вы говорите, невозможно , если вы забыли, что язык JS чувствителен к регистру. Например:

var data = "error_getting_solution_comments"

if (data == 'error_getting_solution_comments') //TRUE
{
    alert ("test");
}
if (data == 'Error_getting_solution_comments') //FALSE
{
    alert ("test");
}

Если регистр не имеет значения, значение data не равно error_getting_solution_comments.

1 голос
/ 05 ноября 2011

Какой тип «данных»? Может быть, это объект? Попробуйте это:

if(data.value == 'error_getting_solution_comments' )
{ 
alert("Sucess!");
}
0 голосов
/ 05 ноября 2011

РЕДАКТИРОВАТЬ:

Это неправильно. Да. Одиночная кавычка и двойная кавычка не имеют значения, кроме как в определенных местах. Не беспокойся.


НЕ Попробуйте этот код:

if ( data == "error_getting_solution_comments" )
{
   alert ("test");
}
...