I personally know of some pitfalls of no semicolon design, so Feross' would be a no-go. Nearly all languages require a semicolon or something similar, so a semicolon also increases recognizability for other developers who work with different languages.
From a pure performance viewpoint, the following loop is the most performant:
const arr = [1,2,3,4];
var i = 0;
const l = arr.length;
while (i < l) {
console.log(arr[i]);
i++;
}
It's very easy to adapt to all kinds of situations, so for me, it's my preferred kind of loop. Someone forcing me to use something else as part of a styleguide is giving me an unpleasant feeling, so I don't really like the second styleguide either.
I use the Google Styleguide with the addition that I leave a blank line after every opening curly bracket in order to leave more space in my code (see code snippet above for example). I like it when my code is not pressed together :)