MST

星途 面试题库

面试题:JavaScript函数实参与形参的传递机制基础

请解释JavaScript函数中实参和形参是如何传递的,并举例说明当传递对象作为参数时会发生什么情况。
37.5万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
  1. 实参和形参的传递方式
    • 在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的值未改变
    
  2. 传递对象作为参数时的情况
    • 虽然JavaScript是按值传递,但当传递对象作为参数时,传递的值是对象的引用(内存地址)。所以函数内部对对象属性的修改会影响到外部的对象。
    • 例如:
    function changeObject(obj) {
        obj.name = 'newName';
    }
    let myObject = {name: 'oldName'};
    changeObject(myObject);
    console.log(myObject.name); // 输出newName,对象属性被修改