Плохо
Разные стили function Storage, class Notes
this.data = load() ? load() : [];
зачем дважды выполнять load(), если он вернет результат
var storageEnable = (function () {
var state = false;
try {
window.localStorage.setItem('test', 'a');
state = window.localStorage.getItem('test') === 'a';
window.localStorage.removeItem('test');
} catch (err) {
console.log('Local storage disable');
}
return state;
}()); // утка если крякает
this.remove
splice
this.set очень интересно. здесь либо this возвращать, для использования в дальнейшем цепочки вызовов или присваиваемое значение для плюшек в синтаксисе
если несколько раз используете document.createElement
то можно для создания написать функцию
<script>
function buildElement(tagName, props) {
var element = document.createElement(tagName);
for (var propName in props) element[propName] = props[propName];
return element;
}
document.addEventListener("DOMContentLoaded", function() {
var btn = buildElement('input', {
type: 'button',
value: 'Delete',
style: 'background-color: red'
});
document.body.appendChild(btn);
});
</script>
и наверное лучше было раз создать, а затем по необходимости клонировать эти элементы