EDIT
Minha resposta foi iniciada antes da resposta anterior... mas chegamos mais ou menos ao mesmo resultado.. :)
--
Edson, vejamos o trecho inicial do script:
<script>
var kilometros = document.querySelector("#input1").value;
var litros = document.querySelector("#input2").value;
Observe que, como a execução do código é sequencial, logo ao abrir a página, as variáveis kilometros e litros já serão setadas, ou seja, vão ficar com NaN... independente do que for inserido no input depois. Perceba que variável NÃO é atualizada novamente após clicar no botão...
Daí, seria necessário que a "busca pelos valores que estão no input" sejam feitas só após o clique lá no botão. Algo assim já funcionaria:
<script>
function calculaConsumo() {
var quilometros = document.querySelector("#input1").value;
var litros = document.querySelector("#input2").value;
var resultado = quilometros / litros;
alert(resultado);
}
Adendo: se atente também que as variáveis kilometros e litros estão como string mesmo, mas a conta funciona. (Teria que se aprofundar um pouco para entender como funciona essa "conversão automática" lá no cálculo.)
Caso queria utilizar como Number, uma forma seria como citado pelo MATEUS DE MORAES, ou seja, utilizando o valueAsNumber. Entretanto, é necessário antes definir o tipo do input como "number". Segue código completo para exemplificar:
<meta charset="UTF-8">
<h1>Cálculo do consumo de combustível</h1><br>
<p>Entre com os quilômetros</p>
<input id="input1" type="number" />
<p>Entre com os litros</p>
<input id="input2" type="number" />
<button>Calcular consumo</button>
<script>
function calculaConsumo() {
var quilometros = document.querySelector("#input1").valueAsNumber;
console.log(typeof quilometros);
var litros = document.querySelector("#input2").valueAsNumber;
var resultado = quilometros / litros;
alert(resultado);
}
var button = document.querySelector("button");
button.onclick = calculaConsumo;
</script>
O resulto final vai ser o mesmo.