面试题答案
一键面试- 实参和形参的传递方式
- 在JavaScript中,函数参数的传递是按值传递。对于基本数据类型(如字符串、数字、布尔值等),传递的是实际的值。当函数内部对形参进行修改时,不会影响外部实参的值。
- 例如:
function addNumbers(a, b) { a = a + 1; return a + b; } let num1 = 5; let num2 = 3; let result = addNumbers(num1, num2); console.log(num1); // 输出5,num1的值未改变
- 传递对象作为参数时的情况
- 虽然JavaScript是按值传递,但当传递对象作为参数时,传递的值是对象的引用(内存地址)。所以函数内部对对象属性的修改会影响到外部的对象。
- 例如:
function changeObject(obj) { obj.name = 'newName'; } let myObject = {name: 'oldName'}; changeObject(myObject); console.log(myObject.name); // 输出newName,对象属性被修改