Как сделать реверс строки без использования стандартных методов?
let str = 'abcdefg';
for (let i = 0; i < str.length; i ++) {
  str = str.slice(1, str.length - i) + str[0] + str.substr(str.length - i); 
}
console.log(str);
Никаких переменных, кроме счетчика цикла
Но вообще так писать не надо :) 
Надо такstr.split('').reverse().join('');
Нужно просто на месте менять значение строки
Нужно? Невозможно. Строки в JS иммутабельны:

var str = 'abc'
str[1] = '!'
console.log(str) // чё, ждали "a!c"? - а вот ни хрена, "abc"