简单/复杂数据类型的定义
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 简单数据类型 null 返回一个空对象 object
var timer = null;
console.log(typeof timer); //object
// 若有个变量打算以后存储为对象,还没想好放什么,就先放 null
// 1.简单数据类型 是存放在栈里面 里面直接开辟一个空间存放的是值
// 2.复杂数据类型 首先在栈里面存放地址 十六进制表示 后地址指向堆里面的数据
</script>
</body>
</html>
简单数据类型传参
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var num = 10;
num = 20;
console.log(num); // 20
function fn(a) {
a++;
console.log(a); // 11
}
var x = 10;
fn(x); // 即 将 10 传给 a 即 a = 10
console.log(x); //10
</script>
</body>
</html>
复杂数据类型传参
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function Person(name) {
this.name = name;
}
function f1(x) { // x = p
console.log(x.name); // lala
x.name = 'xixi';
console.log(x.name); // xixi
}
var p = new Person('lala');
console.log(p.name); //lala
f1(p);
console.log(p.name); //xixi
</script>
</body>
</html>