Nie chodzi o zrobienie metody, bo nawet nie jest to teoretycznie możliwe w tym miejscu (nie ma obiektu, do którego można by tę metodę przypiąć). Chodzi po prostu o to, by powtarzające się rzeczy wyciągnąć do funkcji.
Ogólnie chodzi o to, by zapisywać warunki prościej, bez niepotrzebnego powtarzania kodu, np.
if (switcher.checked) {
switchCheckBox(false)
localStorage.setItem('DarkMode', '0')
} else {
switchCheckBox(true)
localStorage.setItem('DarkMode', '1')
}
można zamienić na:
var newValue = !switcher.checked;
switchCheckBox( newValue );
localStorage.setItem( 'DarkMode', Number( newValue ) );
Tak samo
if (dark == 1) {
changeMetaCol('#121212')
switchCheckBox(true)
setAttribute('data-theme', 'dark')
AddDuration()
} else {
changeMetaCol('#FAFAFA')
switchCheckBox(false)
RemoveDuration(300)
removeAttribute('data-theme')
}
można wydzielić do osobnej funkcji, np. switchDarkMode lub podobnej.