JavaScript对象的基础知识—介绍、基本操作、属性、属性值、字面量等,关注收藏,持续更新

一、对象的介绍

1、JavaScript中数据类型:

        -String 字符串

        -Number 数组

        -Boolean 布尔值

        -Null 空值

        -Undefined 未定义

以上五种类型属于基本数据类型,我们看到的值,只要不是上面的五种,剩下的全都是Object 对象,

基本数据类型都是单一的值“hello” 123 ture,值与值之间没有任何的联系,如果使用基本数据类型的数据,我们所创建的变量都是独立的,不能称为一个整体,信息与信息之间没有关系。

2、对象的概念

对象属于一种复合的数据类型,在对象中可以保存多个不同数据类型的属性,让信息与信息之间有联系,关系明确,操作起来也更加方便

在 JavaScript 中,对象是拥有属性和方法的数据。属性是对象相关的值,方法是对象可以执行的动作。

3、对象的分类:

1.内建对象--有ES标准中定义的对象,在任何的ES的实现中都可以使用,eg:Math String Boolean function object

2:宿主对象--由JS的运行环境提供的对象,目前来讲,主要指浏览器提供的对象,eg:BOM(浏览器对象模型) DOM(文档对象模型) 两组对象,里面各自都有很多

3:自定义对象--由开发人员创建的对象

二、对象的基本操作

1:创建对象

使用new关键字调用的函数,就是构建函数constructor,构建函数是专门用来创建对象的函数

使用typeof检查一个对象时,则会返回object

var obj = new Object();

2:向对象添加属性

        在对象中保存的值称为属性

        语法:对象.属性名=属性值;

         obj.name = "张三";//向obj中添加一个name属性,name属性值为'张三'
        obj.gender = "男";//向obj中添加一个gender属性
        obj.age = 18;//向obj中添加一个age属性

3:读取对象中的属性

        语法:对象.属性名

        如果读取对象中没有的属性,不会报错,而会返回undefined

4: 修改对象的属性值

语法:对象.属性名=新值

  obj.name = "jack";

5: 删除对象的属性

        语法:delete 对象.属性名

       delete obj.name;//删除name属性

        console.log(obj.name)//undefined

三、对象属性名及属性值

1:属性名:

—对象的属性名不强制性要求遵守标识符号的规范,什么名字都可以使用

—但是我们使用还是尽量按照标识符的规范去做

—如果要使用特殊的属性名,例如数字,不能采用"."的方式来操作,需要使用另一种方式'[]':

        语法:对象["属性名"]=属性值

        读取时也需要采用这种方式,使用[]这种形式去操作属性,更加灵活,在[]中可以直接传递一个变量,这样变量值是多少就会读哪个属性

2:属性值

JS对象的属性值,可以是任意的数据类型,甚至可以是对象

3: in运算符

-通过该运算符可以检查一个对象中是否含有指定的属性,如果有则返回true,没有则返回false

-语法:"属性名" in 对象


    <script>
        var obj=new Object();
        obj.name="tom";//向对象中添加属性
       
       obj["123"]='你好';
       var n='123'//把'123'属性赋值给n
       console.log(obj[n]);//读取obj的'123'属性

       obj.test=true;
       obj.test=undefined;
       obj.test="true";
       obj.test=123;
       
      // 创建一个对象
       var obj2=new Object();
       obj2.name="猪八戒";

       obj.test=obj2;
       console.log(obj.test);//{name:'猪八戒'}
       console.log(obj.test.name);//'猪八戒'

      //检查obj中是否含有test2属性
      console.log("test2" in obj); //false
      console.log("test" in obj);//true

    </script>

四、基本数据类型和引用数据类型

基本数据类型:String Number Boolean Null Undefined

引用数据类型:Object

JS中的变量都是保存到栈内存里的

        1,基本数据类型的值直接在栈内存中存储,值与值之间是独立存在的,修改一个变量不会影响其他的变量

        2,引用数据类型的值直接保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟一个新的空间,而变量保存的是对象的内存地址(对象的引用)

        如果两个变量保存的是同一个对象引用,当一个通过一个变量修改属性时,另一个也会受到影响,当我们比较两个基本属性类型的值时,就是比较值,而比较两个引用数据类型时,它是比较对象的内存地址,如果两个对象时一模一样的,但是地址不同,他也会返回false

  <script>
      var a=123;
       var b=a;
       a++;
       console.log("a="+a);//124
       console.log("b="+b);//123

       var obj=new Object;
       obj.name='java';
       var obj2=obj
      //  修改obj的name值
      obj.name='web'
       console.log(obj.name);
       console.log(obj2.name);
    </script>

5、对象字面量

使用对象字面量,可以在创建对象时,直接指定对象中的属性

——语法:{属性名:属性值,属性名:属性值...}

        对象字面量的属性名,可以加引号,也可以不加,建议不加,如果要使用一些特殊的名字,必须要加引号

——属性名和属性值是一组一组的名值队结构,名和值之间使用:链接,多个名值对的使用“,”隔开

如果一个属性之后没有任何其他属性了,就不要写了

    <script>
      //第一种方式:创建对象
      var obj = new Object();
      //第二种方式:使用对象字面量,来创建一个对象
      var obj = {};
      obj.name = "zhangsan";
      var obj2 = {
        name: "猪八戒",
        age: 28,
        gender: "男",
        test: {
          name: "沙和尚",
        },
      };
    </script>

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燕穗子博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值