var x = 10;
function test(){
var x = 15;
}
новый x
был создан в функции scope
var x = 10;
function test(){
x = 15;
}
x
относятся к внешнему объему
var x = 10;
function test(x){
x = 15;
}
Примитивные параметры (например, число) передаются в функции
значение; значение передается функции, но если функция
изменяет значение параметра, это изменение не отражается
глобально или в вызывающей функции.
MDN