Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Непонятно работает условие, которое проверяет пуста ли переменная (https://javascript.ru/forum/misc/70172-neponyatno-rabotaet-uslovie-kotoroe-proveryaet-pusta-li-peremennaya.html)

DivMan 16.08.2017 20:58

Непонятно работает условие, которое проверяет пуста ли переменная
 
В переменную linkForOpenMenu не записался селектор, соответственно в ней будет null, так почему же в первом условии выводит null, а во втором пишет ошибку Cannot read property 'addEventListener'?

Условие должно работать, если переменная не пуста, но получается работает, когда она пуста, почему так?

var linkForOpenMenu = document.querySelector(".open-submenu-user");

console.log(linkForOpenMenu);

if (linkForOpenMenu == "") {
	console.log('Переменная не пуста');
}

if (linkForOpenMenu != "") {
		linkForOpenMenu.addEventListener('click', function(eee) {
			eee.preventDefault();
			showHide(subenu)
	});
}

DivMan 16.08.2017 21:00

Как сделать, проверку на пустую переменную? Искал решения, но они не работают.

DivMan 16.08.2017 21:02

Такое тоже пропускает

if (typeof linkForOpenMenu != "undefined") {
	alert(3)
	}

j0hnik 16.08.2017 21:32

<html>
<head>
</head>
<body>
	<script>
var linkForOpenMenu = document.querySelector(".open-submenu-user");
if (linkForOpenMenu) console.log('Переменная не пуста');
else console.log('Переменная пуста');
	</script>
</body>
</html>


Часовой пояс GMT +3, время: 03:52.