换名形参和赋值形参的区别
时间: 2024-05-18 15:16:06 浏览: 168
在函数定义中,形参是用于接收传递给函数的实参的变量。在函数调用时,实参被赋值给形参。在这个过程中,形参有两种不同形式:换名形参和赋值形参。
换名形参是指形参在函数体内部被重新命名,以与函数调用中的实参的名称不同。这种形参被用于避免在函数内部修改传递给函数的实参的值。在函数调用时,实参的值被赋值给换名形参,这个形参在函数内部被使用,而不是实参本身。
赋值形参是指形参在函数体内部保留了与函数调用中实参相同的名称。在函数调用时,实参的值被赋值给赋值形参,这个形参在函数内部被使用。在函数内部,对赋值形参进行的任何修改都会影响传递给函数的实参的值。
因此,换名形参和赋值形参的最大区别在于,后者允许函数内部修改传递给函数的实参的值,而前者则不允许。
相关问题
枚举值形参赋值int
枚举值形参赋值给整数通常出现在编程中需要将枚举类型的值作为数值参数传递的情况。例如,在Java中,你可以创建一个枚举类型,然后在函数或方法中用其成员变量作为整数值使用。下面是一个简单的例子:
```java
public enum Color {
RED(1),
GREEN(2),
BLUE(3);
private int value;
// 枚举构造函数
Color(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
// 调用方法,传入枚举值并赋值给int
void printColorValue(Color color) {
int intValue = color.getValue(); // 这里color被转换为其对应的整数值
System.out.println("Integer representation: " + intValue);
}
// 使用示例
printColorValue(Color.RED); // 输出:Integer representation: 1
```
在这个例子中,`Color`枚举被赋予了整数值,当`Color.RED`被传递给`printColorValue`方法时,它的整数值`1`会被自动转换并赋值给`intValue`。
给es6形参赋值
ES6允许在函数形参中直接进行赋值,这样就可以为形参设置默认值。形参的默认值可以是一个表达式,这个表达式会在函数调用时进行计算,并将结果作为形参的默认值。
例如:
```javascript
function greet(name = 'world') {
console.log('Hello, ' + name + '!');
}
greet(); // 输出 "Hello, world!"
greet('John'); // 输出 "Hello, John!"
```
在上面的例子中,函数 `greet` 接受一个名为 `name` 的形参,并为它设置了默认值 `'world'`。在函数调用时,如果没有传递 `name` 参数,则使用默认值 `'world'`;如果传递了 `name` 参数,则使用传递的值。