javascript pass by value

JavaScript
function func(obj) {
  obj = JSON.parse(JSON.stringify(obj)); //If too slow, replace with other method of deep cloning
  obj.a += 10;
  return obj.a;
}

var myObj = {a: 5};
func(myObj); //Returns 15 and myObj.a is still 5

//Normal variable, No.
function square(x) {
    x = x * x;
    return x;
}
var y = 10;
var result = square(y);
console.log(y); // 10 -- no change
console.log(result); // 100    
            
//Objects like struct sub variables, Yes.
function turnOn(machine) {
    machine.isOn = true;
}

var computer = {
    isOn: false
};

turnOn(computer);
console.log(computer.isOn); // true;
Source

Also in JavaScript: