Zmiana tablicy w funkcji JavaScript zmienia tablicę poza funkcją?

Dlaczego te dwa skrypty zachowują się inaczej? Chcę, aby użyć pierwszego skryptu, ale w drugimdrawData() nazwij to zmianamidata; to dziwne, a nie to, co chcę zrobić. Drugi skrypt nie ma tego problemu. Dlaczego tak jest i jak mogę naprawić pierwszy skrypt?

Pierwszy skrypt się nie zmieniadata:

var data = ["right"];

function drawData(arrs, type) {
    if (type == "percentage") {
        arrs[0] = "omg";
    }
    alert(data[0]); // Changed!?
}
drawData(data);
drawData(data, "percentage");

Drugi skrypt:

var data = "right";

function drawData(arrs, type) {
    if (type == "percentage") {
        arrs = "omg";
    }
    alert(data); // OK, not changed.
}
drawData(data);
drawData(data, "percentage");

questionAnswers(2)

yourAnswerToTheQuestion