(window.document.body.offsetWidth-200)

Questo e` un calcolo (deve trovare l'oggetto e sottrarre 200 dentro ogni loop:

Se ci fosse una variabile di questo tipo
ow = window.document.body.offsetWidth-200;

non occorrerebbe che ad ogni ciclo andasse a ricercare la posizione dell'oggetto body e andasse a operare la sottrazione.


E ribadisco che randomX puo` diventre negativo (e non so cosa succede con un posizionamento negativo):
infatti se Math.random() ritorna un valore molto piccolo, tale che anche moltiplicato per quella variabile resta inferiore a 0.5, l'arrotondamento lo porta a zero e togliendo uno risulta negativo.

Ricordo che Math.random ritorna un numero N:
0 <= N < 1

Ciao
Michele