var foo = missingObj || fallbackObj;
работает, только если missingObj
не объявлено.Например.это происходит, когда missingObj
является аргументом, значение которого равно undefined
(это наиболее распространенный вариант использования для x = y || по умолчанию)
Код, который вы ищете:
} (window.jQuery || window.Zepto));
Таким образом, в основном причина того, что это не работает, заключается в том, что ваши запутанные объекты, имеющие значение undefined
, и объекты, которые не объявлены., который не работает.Доступ к window.jQuery
означает доступ к неопределенному значению, которое работает.
Например,
function jQuery(options) {
options = options || {};
...
}
Работает, потому что options
не определено, а не объявлено