这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天
对象:object
作用:用来存储一堆大量无序结构的数据
对象是以为键值对的形式来存储各种各样的数据 key:vallue
三种对象:
内置对象(Number Function Arrary Date)
浏览器对象(XML windown)
自定义对象
对象的创建:
通过内置对象来创建一个对象:
let goudan=new Object() console.log(goudan)
字面量创建:
let obj={}
第一种通过方式:
变量.属性名=属性值
第二种方式:
use【属性名】=‘属性值 ’
删除对象属性:
delete 变量+属性名 delete 变量【属性名】
属性名只要是一个字符串都可以,但是有个特殊的值不可以_proto_原型
如果对象里没有这个值就输出undefined
例如:
let user={} user.name='luyao' console.log(user) => 打印:{name:'luyao'}
对象属性的检测:
in 操作符
语法:属性名 in obj 判断属性名存不存在于obj 例如:console.log(sex in obj)判断sex是否在obj中
对象的遍历方式:
语法:for(let goudan in object)goudan:属性名 obj:遍历对象 例如:console.log(goudan)=>打印属性名 console.log(obj[goudan])=>打印属性值
对象取值的顺序两种:
1.属性名没有规律那就从前到后取值
2.属性名如果是全数值的字符串就会从大到小取值
对象属于引用类型:
在存储数据类型的方式不一样
js中存储数据会用到两个内存 栈内存:
基础数据类型统一存放到栈内存
堆内存:
存储的是引用类型的数据
基础数据类型:
1.存放的位置是内存中的栈内存
2.在栈内存中存储变量的标识符和值
3.基础类型可以直接访问栈内存中存储的具体值
4.不能给栈内存中的数据添加方法和属性
引用数据类型Object:
1.首先在堆内存开辟一个空间存储数据
2.将堆内存数据的指针存储到栈内存中
3.访问的时候通过栈内存的指针去堆内存找到相应数据