Изучаю JS, наткнулся в книге на такой код:
var handlers = this._eventHandlers && this._eventHandlers[eventName];
if(!handlers) return;
Я думал что объявление нескольких переменных в js делается просто через запятую, а здесь что имеется ввиду?
И во второй строчке, если я правильно понял имеется ввиду: if (handlers = false), return false. Так? Или что-то другое подразумевается? Спасибо.
Я думал что объявление нескольких переменных в js делается просто через запятую
делается, но у вас здесь определена только одна переменная - handlers. Ее значение определяется логическим выражением (логическое И), которое в свою очередь проверяет наличие объекта _eventHandlers и его свойства с именем eventName. Если оба не пусты и существуют получим результат true.
если я правильно понял имеется ввиду:
if (handlers = false),
в таком виде у вас handlers примет значение false. Оператор сравненеия это двойное равенство ==.
return false
не додумываете то, чего нет. Не было там false, вернется значение undefined.
Первая строка толкуется так Переменной присваивается true, если все условия соблюдаются и false если хоть одно условие не соблюдается и получаем
var s = true && false // s = false
var s = true && true // s = true
Продвижение своими сайтами как стратегия роста и независимости