1.什么是对象
/**
* 什么是对象:
* 就是一个数据的集合(复杂数据)
* js 的数据类型(1.基本数据 2.复杂数据)
* 对象属于复杂数据类型(引用数据类型)
* 引用数据类型:object/function/array
* /
var obj = {
//内部存放键值对(还有人叫key/value或属性名:属性值)
name:'QF',//逗号间隔
age: 18//冒号左边是键 冒号右边是值
}
//{}对象内部存储的 数据(内部的数据大部分为基本数据类型)
/
* if(){
* 分支语句的代码
* }
*
*
* for(){
* 循环体
* }
*
* function(){
* 函数体}
* /
2.两种操作方式的区别:
/
* 对象操作方式分为两种
* 1.点语法
* 2.数组方法[中括号]
*
* 如何选择两种方式
* 1.对象的key符合命名规范的时候都可以
* 2.出现纯数字为key或者特殊符号 我们需要使用中括号语法
* 3.当出现变量的时候,也需要使用中括号语法
* /
3.对象对于key的要求:
/*
* 对象对于key的要求
* 1.推荐使用 符合变量命名规范和规则的
* 2.可以使用数字作为key
* 3.可以使用特殊符号
/
4.对象的操作:
/*
* 对象的操作:(增删改查)
* 1.点语法
* 2.中括号语法(数组语法)
* /
// var obj = {
// name: 'qw',
// }
// console.log(obj);
// //1.点语法
// //1.1查 (语法:对象.key)
// console.log(obj.name);
// //1.2修改(语法:对象.key = 新值)
// obj.name = '12345'
// console.log(obj);
// //1.3增加(对象.新key = 值)
// obj.age = 18//向对象obj中新增一个key ------>age 对于值为18
// console.log(obj);
// //1.4删除(语法:delete obj.key)
// delete obj.name
// console.log(obj);
var obj = {
name: 'qw',
}
//2.中括号语法(数组语法)
//2.1 查(语法:(对象['key']))
console.log(obj['name']);
//2.2修改(对象['key'] = '新值')
obj['name'] = 'QF9999'
console.log(obj);
//2.3 增加(对象['新key'] = '新值')
obj['age'] = 18
console.log(obj);
//2.4删除(delete 对象['key'])
delete obj['name']
console.log(obj);
5.创建对象:
/*
* 创建对象:
* 1.字面量形式
*
* **/
// 1.字面量形式
var obj = {
name : 'QF' ,
age : 12
}
console.log(obj);
//2.通过内置构造函数
var obj1 = new Object()//创建一个空对象
console.log(obj1);
6.遍历函数 /** * 遍历对象 * 就是拿到对象所有的键值对 * **/
var obj = {
name:'QF',
a : 'aaa',
b :'11111',
c :'33333'
}
//for......in循环
for(var key in obj){
// console.log(key);//每一轮循环拿到的都是对象的key
console.log(key,obj[key]);
}
7.数据类型之间的区别: /** * * 面试必问~~~~请熟读并背诵全文 * * 数据类型之间的区别 ### 存储的区别 1. 基本数据类型: 存储在栈内存中, 变量内部就是实际的值 2. 引用数据类型: 变量存储在栈内存中, 变量内部存储的是 指向 堆内存 的 地址(对象实际的值, 存储在 堆内存中)
赋值的区别
1. 基本数据类型: 是 值的 传递
可以理解为, 将我自身的值 复制一份 给到另一个变量, 后续修改另一个变量时 与我自身没有任何关系
2. 引用数据类型: 是 地址 的传递
可以理解为, 将自身的 地址 复制一份 给到另一个变量, 后续修改互相会有影响
### 比较的区别
1. 基本数据类型
比较时, 是拿变量实际的值, 去做对比
2. 引用数据类型
比较时, 是拿引用地址做对比, 判断是不是执行一个地址
### 传参的区别
1. 基本数据类型
是 值 的传递, 将自身的值 复制一份 传递给函数的形参
2. 引用数据类型
是 地址 的传递, 将自身的地址 复制一份 传递给函数的形参
1. 基本数据类型
2. 复杂数据类型 (function; object; array)