引用传值理解
引用传值理解.png
image.png
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>15识别传递的是啥</title>
<script>
// var num1=10;
// var num2=num1;
// num1=20;
// console.log(num1);//20
// console.log(num2);//10
// var num = 50;
// function f1(num) {//外面的50只改f1(num)的num,形参;不改函数里的num所以函数里的是60
// num = 60;
// console.log(num);//60
// }
// f1(num);//60
// console.log(num);//50
// var num1 = 55;
// var num2 = 66;
//
// function f1(num, num1) {//num1==>num,num2==>num1
// num = 100;//===>num1 但不改
// num1 = 100;//===>num2 但不改
// num2 = 100;//没改 隐式全局变量
// console.log(num);//100
// console.log(num1);//100
// console.log(num2);//100
// }
// //num2=100
//
// f1(num1, num2);
// console.log(num1);//55
// console.log(num2);//100 因为function中的num2没改且是隐式全局变量,因此覆盖
// //num是局部变量且外面不能访问局部变量的值
// console.log(num);//Uncaught ReferenceError: num is not defined
// //引用类型
function Person(name,age,salary) {
this.name = name;
this.age = age;
this.salary = salary;
}
function f1(person) {
person.name = "ls";
person = new Person("aa",18,10);
}
var p = new Person("zs",18,1000);
console.log(p.name);//zs
f1(p);
console.log(p.name);//ls
</script>
</head>
<body>
</body>
</html>