null & Null
4.4.15 null value
primitive value that represents the intentional absence of any object value
4.4.16 Null type
type whose sole value is the null value
console.log(Object.getPrototypeOf(Object.prototype));
// выводит null
Object.prototype
- это/равен null", а "у объекта Object.prototype
прототип отсутствует (намеренно не задан)".
scrollLeft может быть установлен, как любое целое число, однако:
Если элемент не может быть прокручен (т.е. у него нет переполнения), scrollLeft устанавливается в 0.
Если установили значение меньше 0 (больше 0 при расположении элементов справа налево), scrollLeft устанавливается в 0.
Если установлено значение больше, чем максимум прокручиваемого контента, scrollLeft устанавливается в максимум.
justify-content: center;
window.postMessage()
const ifCall = document.getElementById('ifCall')
<select id =“status_1” data-group-id=“1”>…</select>
<div id =“ifCall_1” class=“if-call” data-group-id=“1”>…</div>
const groupId = select.dataSet.groupId
querySelector(‘.if-call[data-group-id=${groupId}]’)
(()=>{
const source = '[3, 2, 1, 0, 5, 6, 4, 0, 1, 5, 3, 0, 2, 2, 2, 0]';
// тест
console.log(groupItems(source));
function groupItems(source, groupSize = 3){
return (
(source??'')
.trim()
.replace('[', '').replace(']', '')
.split(',')
.map(e=>e.trim())
.filter(e=>e!=='0')
.reduce((arrays, cur, i)=>{
if(i % groupSize === 0){
return [
...arrays,
[cur]
];
} else{
return [
...arrays.slice(0, arrays.length-1),
[...arrays.at(-1), cur]
];
}
}, [])
);
}
})()
AbortSignal
при назначении обработчика события, например:<DOCTYPE html>
<html>
<head></head>
<body>
<button ontouchstart="gg()" onclick="gg()"></button>
<script>
const controller = new AbortController();
const signal = controller.signal;
const abort = () => controller.abort();
document.querySelector('#btn_103')?.addEventListener('click', () => {
abort();
// логика для click
}, { signal } ); // здесь передаем обработчику сигнал остановки
document.querySelector('#btn_103')?.addEventListener('touch', () => {
abort();
// логика для touch
}, { signal } ); // здесь передаем обработчику сигнал остановки
</script>
</body>
</html>
export function fioValidation() {
...
let valid;
...
}
let isFioValid = fioValidation(); // isFioValid === undefined
let fioValid = {isValid: false, name: ''};
fioValid.isValid = true;
fioValid.name = fio.name;
--experimental-modules