jQuery.fn.extend( {
val: function( value ) {
return this
}
} );
if ( !arguments.length ) {
if ( elem ) {
hooks = jQuery.valHooks[ elem.type ] ||
jQuery.valHooks[ elem.nodeName.toLowerCase() ];
if ( hooks &&
"get" in hooks &&
( ret = hooks.get( elem, "value" ) ) !== undefined
) {
return ret;
}
ret = elem.value;
// Handle most common string cases
if ( typeof ret === "string" ) {
return ret.replace( rreturn, "" );
}
// Handle cases where value is null/undef or number
return ret == null ? "" : ret;
}
return;
}
в setTimeout коллбэк который ты туда ложишь - он макро задача, в then коллбэк - микро задача
Сам timeout - макро задача.- сам вызов setTimeout - синхронный, а вот его коллбэк - он потом становится макротаской
Promise.resolve().then(setTimeout(() => test(4) /* MS1 */, 1000))
.program__link .active
- так ты обращаешься к элементу с классом .active который находиться внутри .program__link, ну думаю ты понял)