3.对象详解

对象的分类

1. 内建对象

由ES标准中定义的对象,在任何ES的实现中都可以使用
eg:Math String Number Boolean Function Object 。。。

2. 宿主对象

由JS的运行环境提供的对象,目前来说主要指由浏览器提供的对象
eg:BOM DOM

3. 自定义对象

自己创建的对象


对象的操作

1. 创建

  • 简单创建
var obj=new Object();
  • 一部到位
var obj={
    name:"名字",
    age:"芳龄12",
    gender:"无",
    son:{
        say:"hello world",
    }
};

对象是可以嵌套的。

2. 属性的添加

obj.newProperty="我是新来的";

3. 属性的删除

delete obj.name;
属性名不强制要求遵循标识符规范,乱七八糟都可以

        eg:obj.var="hello";

        但是如果使用特殊的属性名,不能采用 obj.property 方法,需要使用另一种方式。

  • 语法:obj["property"]=value;

        需要注意的是,读取任然需要采用此种方式。

        读取:console.log(obj["property"]);

检查对象中是否含有指定属性
  • in运算符
    通过该运算符检查一个对象中是否含有指定的属性值
    语法:"property" in obj;

    console.log(“name” in obj);
    输出:true

  • 通过 in 运算符搭配 for 循环遍历对象

    for (var n in obj){
    console.log(“属性名:”+n);
    console.log(“属性值:”+obj[n]);
    }
    输出:
    在这里插入图片描述

对象的地址和引用
  • 对象是保存到堆内存中的,每创建一个新的对象,就会在堆内存中
    开辟出一个新的空间,而变量保存的是对象的内存地址(对象的引用)
    如果两个变量保存的是同一个对象的引用,一个对象的值得改变会影响
    另一个对象
var a=new Object();
a.name="hello";				//a  中name
var b= a;
console.log(b.name);		//改变b中那么
b.name="world";
console.log(a.name);		//a中name随之改变

在这里插入图片描述

  • 执行b=null; 后,b的地址为空,将不再控制0x123地址的内容
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值