原始类型 | 引用类型 Object |
Number | Array |
String | Date |
Boolean | Math |
Null | ....... |
Undefined |
原始类型与引用类型的区别
赋值的区别:
- 赋值的区别:原始类型赋值,引用类型赋值的是引用
// 赋值区别
// // 原始类型
// let str1 = "hello";
// let str2 = str1;
// str1 ="world";
// console.log(str1);
// console.log(str2);
// // 引用类型
// let obj1 = {name:"小明"};
// let obj2 = obj1;
// obj1.name = "小红"
// console.log(obj1.name)
// console.log(obj2.name)
- 比较的区别:原始类型比较的是值,引用类型比较的是引用是否指向同一个对象
// // 原始类型
// let str1 = "hello";
// let str2 = str1;
// str1 ="world";
// console.log(str1);
// console.log(str2);
// // 引用类型
// let obj1 = {name:"小明"};
// let obj2 = obj1;
// obj1.name = "小红"
// console.log(obj1.name)
// console.log(obj2.name)
- 传参的区别: 原始类型赋值,引用类型内部修改会影响外部
// // 传参的区别
// function fun(x){
// x =100;
// console.log(`x的值是${x}`)
// }
// let number = 10;
// fun(number);
// console.log(`number的值是${number}`)
// let obj = {name:"阿萨德"};
// function fun(x){
// x.name = "小风扇"
// console.log(`x名字是${x.name}`)
// }
// fun(obj);
// console.log(`obj名字是${obj.name}`)
原始类型与引用类型的类型检测:
- 原始数据类型检测:typeof(值) 原始类型正常,所有的引用类型用此检测全是object
// let num = 100; // number
// let str = "hello world" // string
// let und ; //undefing
// let nu = null; //object 用typeof检测会显示对象 小bug
// let boo = true; // boolean
// console.log(typeof(num));
// console.log(typeof(str));
// console.log(typeof(und));
// console.log(typeof(nu));
// console.log(typeof(boo));
- 引用数据类型检测:值 instranceof 类型 (console.log(arr instanceof Array))
let arr = [1,2,3];
let reg = /1,2,3/;
let date =new Date();
console.log(arr instanceof Array)
数组存储信息列表
数组StudentLis
<input type="text" class="name" placeholder="姓名">
<input type="text" class="age" placeholder="年龄">
<button>添加</button>
<script>
let inputName = document.querySelector(".name");
let inputAge = document.querySelector(".age");
let btn = document.querySelector("button");
class Student{
constructor(name,age){
this.name = name;
this.age = age;
}
}
let studentList = []; // 数组
btn.onclick = function(){
let student = new Student(inputName.value,inputAge.value);
studentList.push(student);
console.log(studentList)
}