2013-08-09 4 views
-4

Как работает этот оператор JavaScript. Я часто этот оператор в двух условиях:Оператор JavaScript || (логическое ИЛИ)

//context 1 
function(e){ 
e = e || window.event; 

//context 2 
if(a || b) 

Я знаю, что тип возвращаемого значения этого оператора в C или C++ является логическим значением. Но я не могу понять, что делает этот оператор JS.

+2

Возможно, может быть полезно посмотреть документацию? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators –

+0

Раздел, который вы хотите прочитать, это «Короткое замыкание» –

+2

[** Точный дубликат «Правильный использование || "**] (http://stackoverflow.com/q/18036171/1348195) –

ответ

3
e = e || window.event; 

Означает, что если e не принуждать к истинному (типаж или рыхлой сравнения), то вместо того, чтобы попытаться установить e в window.event

if(a || b) 
{ 
    //code 
} 

Значит, если a принуждать к истине (типаж или плохое сравнение), или b оценивает значение true, затем запускает код

+0

True => правша. Например, '' '' 'не 'оценивает значение true', однако он принуждает его. –

+0

@BenjaminGruenbaum Yea, я знаю, что я имею в виду LOL - я переформулировал это, чтобы надеяться, изобразить более ясный смысл. Раньше не встречался термин «правдивость», это просто представление значения, которое было бы типичным для истинного? – SmokeyPHP

+0

Это именно то, о чем я говорил в своем комментарии выше @dystroy. Документация не объясняет это конкретное использование логического или оператора во ВСЕХ, насколько я мог судить (и в этом отношении меня путали, основываясь на том, что я уже узнал). И ты, Смоки, объяснил это отлично. Недавно я увидел, что логический или оператор используется для проверки состояния в соответствии с вашим первым примером, и это ДЕЙСТВИТЕЛЬНО отбросило меня. Я узнал это в соответствии с вашим вторым примером. Тывм объяснил это. Я не мог найти этот ответ в документации Google или MDN. – Soundfx4

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