传值和传址
基础数据类型:数字,字符串,布尔,null,undefined
复杂数据类型:对象,数组,键值对,函数等等。
1.传值:实际是把实参的值赋值给行参,相当于复制。那么对形参的修改,不会影响实参的值。
2.传址:实际是传值的一种特殊方式,只是传递的是地址,不是普通的赋值,那么传地址以后,实参和形参都指向同一个对象,因此对形参的修改会影响到实参。
var user = {
name: "张三",
}
console.log(user.name)
function username(user) {
user.name = "李四"
console.log(user.name)
user = {
name: "王五"
}
console.log(user.name)
}
username(user)
console.log("用户名是:", user.name)