2016-07-19 5 views
-3

У меня есть одна переменная в моем файле javascript. Позволяет называть эту переменную «isValid». Его значение ложно. я должен проверить его значение, если заявление, как это:Javascript не detectinng boolean false

if(!isValid){ 
//Do something 
} 

Но это не совсем происходит внутри, если заявление. Я проверил это, поставив предупреждение. Затем я использовал typeof() следующим образом:

if(typeof(isValid) === false){ 
//Do something 
} 

Но это также не работает. Любое предложение по этому поводу?

+2

TypeOf возвращает строку ... не видя реального кода , который знает, что вы на самом деле устанавливаете 'isValid' для ...' false! = "false" '... интересной вещью будет' console.log (typeof isValid); 'перед тегом' if' - вы должен получить 'boolean' –

+0

typeof isValid вернет строку. Проверьте, является ли оно «логическим» в вашем случае. '0, '', null' также являются значениями ложности. –

+1

, чтобы уточнить **, если ** isValid действительно 'false' ...' typeof isValid' будет == STRING '" boolean "' –

ответ

-1

проверить это: если переменная содержит ложные дайте условию значение == «ложь»

var value = "false"; //string 

if (value=='false') 
{ 
    console.log("this is false") 
} 
else 
{ 
    .... some code 
} 

value = false; //now your variable is a boolean 
if(value === false) 
{ 
    return "something"; 
} 
else 
{ 
    ..... some code 
} 

// печать: это ложь

+1

нет .. 'false' - это не то же самое, что' 'false'' ... Я думаю, что вы добавляете в замешательство –

+0

false == 'false' => false – dizel3d

+0

Да, вы правы. Фактически, я получал значение переменной из моего класса java bean. Когда я проверяю тип переменной isValid с помощью метода typeof, он показывает строку. Поэтому я помещаю false в кавычки , n это сработало. Спасибо –