js基础--对象object(待续。。。)

88 阅读2分钟

js的数据类型分为六种: 基本数据类型:string null Boolean undefined number 引用的数据类型:object

衍生:为什么需要使用对象呢? 在使用变量表示是都是分开表示的,无法联系成一个对象; 如:var name='ZS',age=18; 解决:就是可以采取对象的形式来书写

1.对象的分类:

1.1内置对象

由ES标准中定义的对象,在任何的ES的实现中都可以使用 比如:Math String NUmber Boolean FUnction

1.2宿主对象

由js运行环境的对象;目前由浏览器提供的

比如:BOM DOM

1.3:自定义对象 开发人员自己创建的

2.对象

2.1创建对象

var obj=new Object() 使用new关键字调用的函数,是构造函数constructor;构造函数是专门用来创建对象的函数

2.2添加对象属性

语法:对象.属性="属性值" 如:obj.name="张三"

2.3读取对象的属性:

语法:对象.属性 如:obj.name 注:如果读取对象的属性中没有的就会返回为undefined;

2.4修改对象的属性

语法:对象.需要修改的属性="新值" 如:obj.name="孙悟空"

2.5删除对象的属性

语法: delete 对象.属性名 如: delete obj.name

3.对象的属性和属性值 3.1属性名: ①对象的属性可以不遵守标识符的规范(也就是定义变量的规范);但是尽量使用变量的规范 ②在使用其他特殊的属性的时候,不能采取对象.属性---------应该使用对象["属性"]="属性值" 语法:对象["属性"]="属性值" 如:obj["123"]="789"------------读取的时候也是console.log(obj["123"])

image.png

如何理解他们的区别的?(具体介绍请参考以下博文) www.cnblogs.com/maoyi/p/137… 总结:

c83375cce0c891c3d9d327f0d04df39.png 3.2属性值 属性值可以是任何值,甚至可以是一个对象。

4.in运算符 可以检测对象里面是否有某个属性;如果存在就返回true,不存在就返回的是fasle。 语法:"需要检测的对象的属性名" in 对象名 如:"test1" in obj

5.基本数据类型和引用数据类型 基本数据类型的值是存在栈里面的-----值与值是独立存在的(修改变量的值是不会影响其他变量的值的)

image.png

引用数据类型: 对象保存的是在堆里---先在堆里创建一块空间(该空间的地址保存在栈里); 如果两个变量引用的是一个对象----那么修改一个变量的属性同时也会改变另外一个属性。

注:基本的数据类型比较==的时候是比较的值;引用数据类型比较的是地址。

image.png

image.png

6.使用字面量创建对象

var obj={属性:"属性值",属性:"属性值"}