zoukankan      html  css  js  c++  java
  • Object 对象(对象的分类、属性(属性名和属性值)、基本数据类型与引用数据类型区别)

    Object——引用数据类型

     基本数据类型的不足之处:基本数据类型是单一的值,不能表现出值与值之间的所属关系

    object分为内建对象、宿主对象和自定义对象

     a 内建对象:ES标准中定义的对象,在任何ES的实现中都可以使用;例如:Math  String等。

     b 宿主对象:由JS运行的浏览器提供的对象,目前主要是指浏览器提供的对象;例如:BOM DOM.

     c自定义对象:由开发人员自己创建的对象。

    属性名和属性值

     例如,先创建一个新的对象 var obj = newObject(); 向新创建的对象中添加属性 obj.name =“陈飘”;

    此时这里的name为属性名 “陈飘”为属性值

      注意:

      a 属性名不强制遵守标识符规范,但是尽量遵守标识符的规范,如果使用了特殊的属性名,则不可以使用 object.属性名=属性值的方式添加对象属性,需要使用 object["属性名“]=属性值,同时在取读时也需要使用该方式。

     b属性值可以是任意数据类型,甚至可以是一个对象。

     c in运算符:通过这个运算符可以检查一个对象是否含有指定的属性,如果有则返回true,否则返回false。

        语法: ”属性名“in obj

        例如:console.log("test" in obj);

    关于属性的总结:

      添加属性 :obj.属性名=属性值;

      取读属性:obj.属性名  例如:console.log(obj.gender); 注意:如果没有该属性会返回undefined并不会报错。

      修改属性:obj.属性名=新的属性值;

      删除属性:delete obj.属性名

    基本数据类型和引用数据类型的区别

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

      引用数据类型:Object

      区别:

       基本数据类型:js的变量保存在栈内存中,变量的值也是直接保存在栈内存中;值与值之间是彼此独立的,一个值的修改仅仅影响自身。

       var a =12; var  b = a;  a++;  

       以上 输出 a = 13  b=12   两者是互不影响的

      变量在栈内存中保存显示    变量名+值

      引用数据类型:创建一个对象时会在堆内存中开辟一个空间,用来存放对象的属性。在为对象添加属性时,是将属性放在堆内存中开辟的空间里。

      在栈内存中保存显示  对象名 +一个地址(类似于指针,指向堆内存中该对象开辟的空间)

       var obj = New object();  obj.name="陈飘";    var obj2 = obj; obj2.name =“阿飘”;

       此时name=阿飘。值已经被修改,因为两个对象指向同一个地址

      注意 当obj2.name= Null; 时  name= 陈飘   切断了该对象和地址的联系。

  • 相关阅读:
    欧几里得算法&&扩展欧几里得算法
    POJ-1006 Biorhythms (生物节律)
    第3周实践项目7 删除链表元素最大值
    第3周实践项目1 顺序表的基本运算
    第三周项目4(2)-顺序表应用 将所有奇数移到所有偶数前面
    第3周实践项目5 -顺序表的应用 拆分单链表
    SDUT-2144 图结构练习——最小生成树
    SDUT-3362 数据结构实验之图论六:村村通公路
    Codeforces Round #616 (Div. 2)题解
    1.29 educational round 81
  • 原文地址:https://www.cnblogs.com/chenpiaoxiaowu/p/11406023.html
Copyright © 2011-2022 走看看