js中:
1.赋值
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>值类型和引用类型复制</title>
</head>
<body>
<script>
var a = 9, b = 0;
var c = {age: 9}, d;
// 把a 值类型 赋值给了b
b = a;
b = 19; // 修改b的值
console.log(a); // 9
console.log(b); // 19
// 如果是引用类型则:
d = c; // 把c 引用类型 赋值给d
d.age = 22; // 修改d的age属性
console.log(d); // { age: 22 }
console.log(c); // { age: 22 }
</script>
</body>
</html>
解析:
2. 函数传参
如果是引用类型,则传参时,是把其的地址传进来!
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>值类型 引用类型 函数参数传递</title>
</head>
<body>
<script>
var a = 9,
b = {name: 'lili', age: 19};
// 把 a和b分别传给c1和c2.
// 如果是引用类型,则传参时,是把其的地址传进来!
function demo(c1, c2){
c1 = 29;
c2.name = 'grace'; // 更改了c2引用类型的属性
}
demo(a, b); // 调用函数执行
console.log(a); // 9
console.log(b); // { name: "grace", age: 19 }
</script>
</body>
</html>