1.对象

对象

对象的使用

创建的两种方式

// 对象object
// 创建
    var dic = new Object
    var dic2 = {}

点语法增删改查

// 增删改查 点语法
    dic.name = 'ldddragon' //增
    dic.age = 18 
    delete dic.name  // 删
    dic.age = 20 //改
    dic.age // 查

数组联用增删改查

// 增删改查 数组联用 字符串!
    dic2['name'] = 'lddragon' //增
    dic2['age'] = 18
    delete dic2['name'] // 删
    dic2['age'] = 20 // 改
    dic2['age'] // 查
    // console.table(dic2)

对象object的遍历

对象的成员名能访问到数据但是不一定有规律

+ 新的语法 for in 的循环

for in方法

=> 语法:
		for (var 变量 in 对象) {代码}
=> 根据对象的成员数来结束循环

案例

var obj = new Object
for (var key in obj){
  	console.log(obj.key)
  	// 拿到的可以是对象的成员名称
  	console.log(key,'=',obj[key])
} 

in语法

+ 判断一个成员是否在对象中
	=> 使用 in 语法 
	=> 成员名 in 对象名
	=> 对象内的成员名称必须都是字符串
var obj = {name:"jack",age:18}
// 验证
console.log('name' in obj) >>> true 
// 返回结果是 true 或 false

扩展

+ windows 的 name 属性
	=> 是一个全局天生自带的属性
	=> 作用: 在 iframe 标签和 name 属性合作进行跨域的
  => 特点: 固定字符串类型 不管你给什么 最后都是字符串类型 定义变量劲量不要使用name

数据类型存储的区别

+ 数据类型分为两种
		=> 基本数据类型
				1.Number
        2.String
        3.Boolean
        4.Undefined
        5.Null
    => 复杂数据类型
				1.Function 函数
        2.Object 对象
        ...
+ 存储是有区别的
+ js打开的内存空间
		=> js是一个脚本语言,依赖于浏览器执行
		=> 本质是依赖于浏览器上的js解析引擎
		=> js本身不打开内存空间 是浏览器运行的时候会占用一段内存空间 js就在这一段空间里面运行
    => 数据类型的储存,就是储存在浏览器分配给js的一段空间里面
+ 浏览器的一段储存空间
		1.栈内存
    		=> 储存机制,先来进栈底
    2.堆内存
    		=> 存储机制,随机存储
+ 基本数据类型的存储
		=> 直接把值存储到栈内存里面
+ 复杂数据类型的存储
		=> 把数据丢给 堆内存 里面有个对应的地址 然后把地址存在栈内存的变量中
+ 代码的执行 
		=> 只能拿到 栈里面的 变量 堆内存只能间接拿到

数据类型赋值的区别

1.基本数据类型
		=> 就是把变量存储的值直接赋值给另外一个变量
		=> 赋值过后的两个变量没有关系了
2.复杂数据类型
		=> 因为复杂数据类型中,变量存储的是地址
		=> 赋值的时候,实际上是把一个变量的地址给了另外一个变量
		=> 赋值过后,两个变量操作一个空间
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页