¿Por qué este bucle no actualiza correctamente este array?

Intento hacer un bucle que añada al array fibSeq = [0,1] la suma de los dos numeros anteriores .

Es decir el resultado con 6 iteraciones debería ser este: fibSeq = [0,1,1,2,3,5,8,13]

Sin embargo el mio no actualiza:

function fib(num){ 	var fibSeq = [0,1]; 	var elultimo = fibSeq.length -1 	var elanterior = elultimo - 1 	var suma = elultimo + elanterior 	 	for (var i = 0; i < num; i++){ 		fibSeq.push(suma) 			} 	return fibSeq }  fib(6)

Y da como resultado fibSeq = [0,1,1,1,1,1,1]

He probado a incluir las declaraciones dentro del bucle

function fib(num){ 	var fibSeq = [0,1]; 	var elultimo = fibSeq.length -1 	var elanterior = elultimo - 1 	var suma = elultimo + elanterior 	 	for (var i = 0; i < num; i++){ 		elultimo = fibSeq.length -1 		elanterior = elultimo - 1 		suma = elultimo + elanterior 		fibSeq.push(suma) 			} 	return fibSeq }  fib(6)

Pero entonces me da unos numeros raros, no los que quiero (los que quiero son los fibonacci) : [0, 1, 1, 3, 5, 7, 9, 11]

Agradecería una explicación de porqué el bucle no se actualiza en vez de una solución de como obtener los numeros fibonacci ya que ando haciendo esto para aprender JS e intento evitar soluciones completas porque si no no aprendo. Gracias.