Test name | Executions per second |
---|---|
style.setProperty | 408.5 Ops/sec |
style.cssText | 102.4 Ops/sec |
style | 92.9 Ops/sec |
Object.assign | 89.1 Ops/sec |
setAttribute | 1036.7 Ops/sec |
classList | 806.8 Ops/sec |
<style>
:root {
--test-color: 'red';
}
.test {
color: var(--test-color);
}
.test-blue {
--test-color: 'blue';
}
</style>
<div id="test"></div>
el = document.getElementById("test");
let i = 0;
while (i < 10000) {
el.style.setProperty("--test-color","blue");
i++;
}
let i = 0;
while (i < 10000) {
el.style.cssText = "color:red;border:1vmin solid red;padding:0.5vmin;background-color:black;height:1vh;width:1vw;";
i++;
}
let i = 0;
while (i < 10000) {
el.style = "color:red;border:1vmin solid red;padding:0.5vmin;background-color:black;height:1vh;width:1vw;";
i++;
}
let style = {
height: '1vh',
width: '1vw',
color: 'red',
border: '1vmin solid red',
backgroundColor: 'black',
padding: '0.5vmin'
};
let i = 0;
while (i < 10000) {
Object.assign(el.style, style);
i++;
}
let i = 0;
while (i < 10000) {
el.setAttribute('style',"color:red;border:1vmin solid red;padding:0.5vmin;background-color:black;height:1vh;width:1vw;");
i++;
}
let i = 0;
while (i < 10000) {
el.classList.add('test-blue');
i++;
}