JS的对象 一.什么是对象? 就是一个数据的集合(复杂数据) 二.JS的数据类型? 1.基本数据 2.复杂数据 对象属于复杂数据类型(引用数据类型) 说起来是复杂数据 但也不复杂 引用数据类型:object function array
var obj = { name:'QF', //必须要有逗号间隔 age:18 //冒号左边:健; 冒号右边:值; }
三.{}对象内部存储的是数据 if(){ 分支语句的代码 } for(){ 循环体 } function(){ 函数体 } {数据(内部的数据 大部分为 基本数据类型)}
创建对象 1.字面量的形式 var obj = { name:'QF', age:18 } console.log(obj)
2.通过内置构造函数 var obj1 = new Object() //创建一个空对象 console.log(obj1)
对象对于key的要求 //冒号左边还是右边? 1.推荐使用符合变量命名规范和规则的 2.可以使用数字作为key 3.可以使用特殊符号
var obj = { name:'QF' bigBox:'HHHH' 123:'112233' '@':'特殊符号1' '#':'特殊符号2' } console.log(obj) //可以得到键值对
for(var a in obg){ console.log(a) // 可以得到键 console.log(obj[a]) // 可以得到值 }
对象的操作(增删改查)
1.点语法
console.log(obj.name) //查(对象.key)
obj.name = 'QF666'
console.log(obj) //修改(对象.key = 新值)
obj.age = 18 //向对象obj 中 新增一个 key --> age 对应的值为 18
console.log(obj) // 增加 (对象.新key = 值)
delete obj.name
console.log(obj) // 删除 (delete obj.key)
2.中括号语法(数值语法)
查 (对象['key'])
console.log(obj['name'])
修改 (对象['key'] = 新值)
obj['name'] = 'QF999'
console.log(obj)
增加 (对象['新key'] = 值)
obj['age'] = 18
console.log(obj)
删除 delete 对象['key']
delete obj['name']
console.log(obj)
两种操作方法的区别 对象的操作方式分为 2 种
- 点语法
- 数组方法(中括号) 如何选择两种方式 * 1. 对象 的 key 符合命名规范的时候 都可以 * 2. 出现纯数字 为 key 或者 特殊符号 @# 我们需要使用 中括号语法 * 3. 当出现变量的时候(想用变量作为 key) 也需要使用 中括号语法
遍历对象就是拿到所有对象的键值对
二.什么是数组 数组就是一组数字的集合(这样说太片面了) ---> 存放一些数据的集合 var arr = [100, 200, 300, 'a', 'b', 'c', true, false, undefined] // 注意是 中括号, 不是大括号 console.log(arr)
创建数组 1.字面量 字面量 var arr = [1, 2, 3, 4, 5] console.log(arr) 2.内置构造函数 var arr1 = new Array() // 空数组 console.log(arr1)
var arr2 = new Array(5) // 创建一个长度为 5 的数组(虽然有长度, 但是实际的值为 空) console.log(arr2)
var arr3 = new Array(5, 10) // 创建一个有内容的数组, 第一个值为 5 第二个值为 10 console.log(arr3)
数组的 length * 代表了 数组的 成员数量 * * 语法: 数组.length */ var arr = [1, 2, 3, 4, 5, undefined] console.log(arr.length)
数组的索引值(下标) * * 数组的索引就代表了 当前数据 在 数组的 第几个 位置(注意!!! 下标 从 0开始) */ var arr = [1, 2, 3, 4, 5] // 下标 0 1 2 3 4 console.log(arr)
// 通过 下标获取数组对应的成员 console.log(arr[0]) // 1 获取数组的第一个成员
console.log(arr[4]) // 5
console.log(arr[arr.length - 1]) // 相当于 arr[4] ---> 5
遍历数组 * 拿到数组的每一个成员
var arr = [1, 2, 3, 4, 5]
// 下标 0 1 2 3 4
for (var i = 0; i < arr.length; i++) {
// console.log(i)
console.log(arr[i])
}