- 对象数据类型 是js数据类型的一种 一个复杂数据类型 函数:一个盒子,承载一段代码 对象:一个盒子,承载一堆数据 本质:抽象的一个事物
- 对象创建的方式
- 字面量的创建 =》var a = {}
- 内置构造函数创建 =》js给我们提供了一个内置构造函数叫做object =》var a = new object()
- 两种创建方式的区别
- 字面量创建可以在创建的时候就向里面直接添加一些数据
=》数据是以键值对的形式出现 =》可以:value的形式 =》key就是这个数据的名字 =》value就是这个数据的值 =》多个数据之间用逗号分隔开 =》里面是数据叫做对象的属性,里面是函数叫做对象的方法- 内置构造函数不好直接添加数据 =》直接创建一个空对象 =》后期通过对象的操作语法来进行增删改查
- 对象的操作语法
- 增:向对象里面添加一个成员
- 删:删除对象里的成员
- 改:对成员进行改动
- 查:获取对象里面的某一个值
- 点语法
=》语法:对象名.成员名=值 =》删除语法:delete.对象名.成员名 =》修改语法:对象名.成员=值 原有的就是修改,原先没有的就是添加 =》查询语法:对象名.成员名 =》当你访问一个对象里没有成员的时候,会给你一个undefined``` 注意,因为对象数据类型是一个复杂的数据类型 在控制台打印的时候会出现两种情况 现在的样子与最终的样子 在控制台上,你不展开对象数据类型的时候,是当前的样子 在控制台上,展开对象数据类型以后,就是最终的样子 解决:你直接打印你想看到的值 console.table()以表格形式展开 - 数据关联语法
- 添加语法:对象名['成员名']=值
- 删除语法:delete 对象名['成员名']=值
- 修改语法:对象名['成员名']=值,有就是修改,没有就是添加
- 获取语法:对象名['成员名']=值
- 对象两种操作语法的区别
- 点语法不能使用变量,不能拼接字符串
- 数组关联语法可以使用变量可以拼接字符串
- window 的 name属性
- 是一个全局天生自带的属性
- 作用:在iframe标签和name属性合作进行跨域的
- 特点:被固定为字符串类型 不管给name赋值什么数据类型,都会自动转化为字符串
- 数据类型存储的区别
=》基本数据类型 number数值 string字符串 boolean布尔 nudefined空 null空 =》复杂数据类型 function函数 object对象 - 存储上的区别
- js打开的内存空间 js是一个脚本语言,依赖于浏览器执行,本质是依赖浏览器里面的js解析引擎 js本身不打开内存空间,因为浏览器在电脑上运行的。 数据类型的存储,就是存储在浏览器分配给js存储的一段空间
- 浏览器的一段存储空间
栈内存 存储机制,先来进栈底 堆内存 随机存储 - 数据类型的存储 基本数据类型 直接把值存储在栈内存里面 复杂数据类型 把数据放在堆内存里 把地址放在栈内存的变量里 我们管这个地址叫做引用
- 代码的执行 我们只能直接访问栈里面的内容 利用栈里的地址找到堆里面的内容
- 数据类型赋值的区别
- 基本数据 : 就是把变量存储的值直接赋值给另一个变量 赋值过后两个变量没有关系了
- 复杂数据类型
- 因为复杂数据类型中,变量存储的是地址
- 赋值的时候,实际是把一个变量的地址给了另一个变量
- 赋值过后,两个变量操作一个空间
- 函数的形参和实参的关系
- 实参就是函数调用的时候给形参赋值
- 实参和形参的交互,和变量赋值时一样
- 函数的返回值也是变量赋值的一种
-
返回值是把函数内部的数据返回出去 retur
-