JSFiddle - React, Tailwind, and code Playground
by John Doe
JavaScript
"use strict";
function addClass(obj, cls) {
//1 этап превраoftv в массив
var classes = obj.className ? obj.className.split(' ') : [];
//2 этап проверка, если есть такое значение выходим из функции
for (var i = 0; i < classes.length; i++) {
if (classes[i] == cls) return;
}
//3 этап добрались досюда добавили в массив новое значение через метод push
classes.push(cls);
//4 этап обновили свойство (при помощи метода join вернули опять в строку и присвоили)
obj.className = classes.join(' ');
// допустил ошибку забыл добавть obj к свойству ошибку не выдало так как посчитало за локальную перемменую мог бы добавить use strict и всё было б зб
}
var obj = { className: 'open menu' };
addClass(obj, 'new');
addClass(obj, 'open');
addClass(obj, 'me');
alert(obj.className); // open menu new me