js中数据类型(对象)

js中数据类型

-String 字符串

-Number 数值

-Boolean 布尔值

-Null 空值

-undefined 未定义

-Object 对象

1、内建对象

  -由ES标准中定义的对象,在任何的ES的实现中都可以使用。

  -比如:Math String Number Boolean Function Object...

2、宿主对象

  -由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象

  -比如:BOM DOM

3、自定义对象

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

创建对象

使用new关键字调用的函数,是构造函数constructor

构造函数是专门用来创建对象的函数

var obj = new Object();

console.log(typeof obj)

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

//向对象添加属性

//语法:对象。属性名=属性值

obj.name="可乐"

obj.gender="男"

obj.age=18

console.log(obj)

//读取对象中的属性

//语法:对象.属性名

console.log(obj.age)

//修改对象的属性值

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

obj.age=19

console.log(obj.age)

//删除对象的属性

//语法:delete 对象.属性

delete obj.age

console.log(obj)

// 对象的属性名不强制要求遵守标识符的规范

// 什么乱七八糟的名字都可以使用

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

 obj.address="地球"

// 如果使用特殊的属性名,不能采用.的方式来操作

// 需要使用另一种方式:

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

// 读取时也需要采用这种方式

// 使用[]这种形式去操作属性,更加灵活。

// 在[]中可以直接传递一个变量,这样变量值是多少就会读取多少。

obj["123"]=789;

console.log(obj["123"]);

var n="你好";

obj[n]="你好";

console.log(obj[n]);

var h="nihao";

//属性值

//js对象的属性值,可以是任意的数据类型

//甚至可以是一个对象

obj[n]=h;

console.log(obj[n]);

var obj2=new Object();

obj.test=obj2;

console.log(obj);

// in 运算符

// 通过该运算符可以检查一个对象是否含有指定对象

// 如果有则返回true,没有则返回false

// 语法

// "属性名" in 对象,注意属性名加引号

//test需要加上"",为"test"

console.log("test" in obj);

// 基本数据类型

// string Number Boolean null undefined

// 引用数据类型

// Object

// js变量都是保存在栈内存中

    // 基本数据类型的值直接在栈内存中存储

    // 值与值之间是独立存在,修改一个变量不会影响到另一个变量

    // 对象保存在堆内存中,没创建一个新对象,就会在堆内存中开辟一个新的空间。

    // 而变量保存的是对象的内存地址(对象的引用)。

    // 如果两个变量保存的是同一个对象引用,当一个通过一个变量修改属性时,另一个也会受到影响。

你可能感兴趣的:(js中数据类型(对象))