Какова логика префиксов в javascript?
Логика очень простая. В javascript имена не могут содержать ничего, кроме _, букв и $. Так сложилось, что вещи, которые в «обычной природе» мы пишем через тире (оно же дефис, черточка и минус) (некоторые CSS свойства, HTML атрибуты), тут нужно писать по правилу -ab-cd = AbCd, то есть, отбрасывать тире, а букву, следующую за ним, возводить в верхний регистр.Примеры: border-width - borderWidth, -moz-transform - MozTransform,data-tag-for-title - dataset.tagForTitle.
Смотря какой префикс. Если -moz-transform, то MozTransform или mozTransform. А если moz-transform то mozTransform. Никакого "правильно" тут нет. Это web, здесь все сломали еще до вас.