2013-06-02 4 views
-1

Я начал javascript сегодня. Попытка с самой базовой и застряла с петлей If Else.Javascript if else condition run time failure

 


    var input = prompt("type your name"); //variable stores the value user inputs 
    var outout = tostring(input); // the input value is changed to string datatype and stored in var output 
    alert(output);//supposed to display the value which it doesn't 

    if(output == "Tiger") 
    {alert("It is dangerous"); 
    } 
    Else 
    {alert("all is well"); 
    }//I only get a blank page 
    

Если я опускаю выходную линию вар = ToString (вход) и попытаться отобразить окно предупреждения с входным значением Я получаю окно с предупреждением. Но после этого я получаю только пустую страницу. Цикл If Else не работает вообще. Я использую notepad ++. Также проверяется в Dreamweaver. Ошибка компиляции отсутствует. Что я делаю не так? Извините за такой базовый вопрос и спасибо за ответ.

С уважением, TD

+0

ключевые слова и идентификаторы Javascript чувствительны к регистру. – SLaks

ответ

0

Ваш код имеет следующие проблемы:

var input = prompt("type your name"); 
var outout = tostring(input); 
// Typo: outout should be output 
// tostring() is not a function as JavaScript is case-sensitive 
// I think you want toString(), however in this context 
// it is the same as calling window.toString() which is going to 
// return an object of some sort. I think you mean to call 
// input.toString() which, if input were not already a string 
// (and it is) would return a string representation of input. 
alert(output); 
// displays window.toString() as expected. 
if(output == "Tiger") 
{alert("It is dangerous"); 
} 
Else // JavaScript is case-sensitive: you need to use "else" not "Else" 
{alert("all is well"); 
}//I only get a blank page 

Я подозреваю, что вы хотите, это:

var input = prompt("type your name"); 
alert(input); 
if (input === "Tiger") { 
    alert("It is dangerous"); 
} else { 
    alert("all is well"); 
} 
+0

. Он работает после удаления var outout = toString (input); – user1976929

+0

Большое спасибо Питу за ответ. Outout был Typo. Он работает теперь после того, как я опустил << var output = toString (input); >>. У меня нет программирования, поэтому мне жаль разочаровывать вас, ребята, на глупых ошибках. – user1976929

1

Ваша линия

tostring(input);

Должно быть

toString(input);

Метод toString() имеет капитал S

Кроме того, ваша переменная вывода называется «outout». Не знаю, является ли это опечаткой ...

Не только это, ваш Else также должен иметь небольшой e. Все ключевые слова JavaScript чувствительны к регистру.

+0

@Doorknob только что заметил. Спасибо за +1 :) – imulsion

+1

Кроме того, 'toString()' является методом экземпляра. – SLaks

+0

Я пренебрег чувствительностью к регистру ... изменил tostring на toString и появилось второе окно предупреждения. Но я не уверен, что такое метод экземпляра ... У меня нет фона программирования. Извините за небрежность. Большое спасибо за ответ. – user1976929

1

Вам не нужно преобразовывать результат запроса в строку, это уже строка. И это на самом деле было бы

input.toString() 

И Else в нижнем регистре, то правильным было бы else.

Таким образом, вы можете использовать как этот

var input = prompt("Type your name"); 

if (input == "Tiger") 
{ 
    alert("Wow, you are a Tiger!"); 
} 
else 
{ 
    alert("Hi " + input); 
} 

Обратите внимание, что если вы наберете tiger (в нижнем регистре), вы будете в конечном итоге на else. Если вы хотите сравнить строки нечувствительны к регистру вы можете сделать это:

if (input.toLowerCase() == "tiger") 

Тогда даже tIgEr будет работать.

+0

Я пропустил var outout = toString (input); и это сработало. Благодарю. – user1976929

+0

.toString и Convert.toString() .... не могли бы вы объяснить, в чем разница? .. спасибо. – user1976929

+0

В javascript нет 'Convert.toString'. Вы имеете в виду C# 'Convert.ToString()'? http://msdn.microsoft.com/en-us/library/system.convert.tostring.aspx – BrunoLM

Смежные вопросы