对象

数据类型:

String 字符串

Number 数值

Boolean 布尔值

Null 空值

Undefined 未定义

以上是5种基本数据类型,除此之外全是对象

Object 对象

对象属于一种复合的数据类型,可以保存多种不同的属性值

--------------------------------------------

对象和其他5种数据类型不同在于,其他5种数据变量存在于栈内存,值与值之间独立存在,不相互影响,但是对象的值是存在于堆内存中的,每新创建一个新对象,都会在堆内存中开辟新的空间,而对象的变量则是内存中的地理位置

              var a = 123

              var b = a

              a++

              console.log(a)

              console.log(b)

              /* 

                a = 124  b =123 他们的值相互不影响

               */

 

              var a = new Object()

              a.name = "ws"

              var b = a

              a.name = "xmq"

              console.log(a.name)

              console.log(b.name)

              /* 

                B的name属性会被A所影响

               */

 

 

------------------------------------------------

  1. 内建对象:

在ES标准中定义的对象,比如String; function; object

  1. 宿主对象

JS运行环境提供的对象,主要是指浏览器提供的对象

比如BOM(浏览器对象)  DOM(文件对象)

  1. 自定义对象

由开发人员自己创建的对象

语法: var a = new object();

对象添加属性语法:

a.name = “孙悟空” 如果读取对象中没有的属性,不会报错而是返回undefined   对象的属性名不强制要求标识符的规范 乱七八糟的都可以用包括已定义的函数名

a[123] = 789 可以用对象[“属性名”] 来定义特殊的属性名,这种方式存取的属性名不能用console.log(a) 来调用,而是console.log(a[“123”])来调用

例子如下

              var a = new Object() , b = new Object();

              a.name = "wukong";

              b["3_221"] = 77889;

              console.log(a.name);

              console.log(b["3_221"])

 

对象属性删除语法  语法:delete 对象.属性名

Delete obj.name;

 

对象语法的注意点

创建对象有2种语法

               1                    2

var a = new Object()               var a = {}

a.name = "孙悟空"        name:="孙悟空", //第二种必须加逗号

a.gender = 18          gender:=18

console.log(a.name)       console.log(a.name)

 

 

 

原文地址:https://www.cnblogs.com/Young-shi/p/10438847.html