01 对象---引用数据类型
1. 概念
简单来说,就是一个数据(复杂数据)的集合
2. 语法形式
方法1:字面量的形式
var obj = { name: 'QF', age: 18 }
方法2:内置构造函数法
var obj1 = new Object() // 创建一个空对象 console.log(obj1)
3. 操作方法
增、删、改、查
方法1:点语法
<script> // 增、删、改、查 //
【1】点语法
var obj = { name:'哈哈哈哈', } console.log(obj);
console.log(obj.name);
obj.age = 18;
console.log(obj);
obj.name = '嘿嘿嘿';
console.log(obj);
delete obj.name;
console.log(obj);
方法2:[ ]语法(数组语法/中括号语法)
<script>
// 【2】[ ]语法
var obj1 = { name:'小白', } console.log(obj1);
console.log(obj1['name']);
obj1['age'] = 18;
console.log(obj1);
obj1['name'] = '小小小';
console.log(obj1);
delete obj1['name'];
console.log(obj1);
两种操作方法的区别:点语法不支持对象中属性的命名中含有特殊符号、数字开头的形式,而[ ]语法可以支持
4. for…in
<script>
var obj = { name:'小白', age:19, a:1, b:2, c:3 }
for(var key in obj){
//key代表的是对象中的键值对
// console.log(key);
console.log(key, obj[key]); //不能用点语法
}
</script>
02 数组
1. 概念
存放数据的集合
2. 语法形式
方法1:字面量的形式
var 变量 = [数据1,数据2,数据3……]
var arr = [1, 2, 3, 4, 5]; console.log(arr);
方法2:内置构造函数的
var 变量 = new Array(数据1,数据2,数据3……)
var arr1 = new Array();
console.log(arr1); //打印出一个空数组
var arr2 = new Array(5);
console.log(arr2); //打印出一个length为5的空数组
var arr3 = new Array(5, 10, 11);
console.log(arr3);
3. 属性
数组的长度(length)
简单来说,就是数组中数据单元的个数
语法形式:
arr.length
索引下标
js程序定义的数组中存储的数据单元的编号,这个编号是从0开始的连续整数数值
通过索引下标指定操作的数组单元----------语法形式: 数组[索引下标]
范围 0~数组.length-1
03 数据存储的原理(数据类型之间的区别)👍
数据类型:
基本数据类型-----number string boolean undefined null
引用数据类型-----对象(object) 数组(array)函数(function)
区别:
存储的区别:
1、基本数据类型:存储在栈内存中,变量内部就是实际的值
2、引用数据类型:变量存储在栈内存中,变量内部存储的是指向堆内存的地址,对象实际的值,存储在堆内存中
赋值的区别:
1、基本数据类型:是值的传递
2、引用数据类型:是地址的传递
比较的区别:
1、基本数据类型:比较时,是用变量实际的值,去做对比
2、引用数据类型:比较时,是拿内存地址做对比,判断是不是执行一个地址
传参的区别:
1、基本数据类型:是值的传递
2、引用数据类型:是地址的传递