【六】对象、数组

87 阅读2分钟

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、引用数据类型:是地址的传递