对象的简介

基本数据类型都是单一的值,如:“hello”,123,true,值和值之间是没有任何联系
那么在js中来表示一个人的信息(name, gender ,age):
var name = “孙悟空”;
var gender = “男”;
var age = 18;
如果使用基本数据类型的数据,我们所创建的都是独立的,不能成为一个整体!所以在js中给我们提供一个引用数据类型,Object对象,是属于一种复合的数据类型,在对象中可以保存多个不同的数据类型的属性

一.对象的分类
1.内建对象
由ES标椎中定义的对象,在任何的ES的实现中都可以使用
比如:Math,String,Number,Boolean,Function,Object…
2.宿主对象
由js中运行环境提供的对象,目前来讲主要指由浏览器提供的对象
比如:BOM,DOM
3.自定义对象
由开发人员自己创建的对象

二.创建对象
①使用new关键字调用的函数,是构造函数constructor,构造函数是专门用来创建对象的函数
使用typeof检查一个对象时,会返回object

var obj = new object();

②使用字面量来创建一个对象,可以在创建对象时,直接指定对象中的属性
语法:
var 变量名 = {
属性名:属性值,
属性名:属性值,
属性名:属性值…
}
注意:对象字面量中属性名可以加引号也可以不加,建议不加,如果要使用特殊的名字,则必须要加上引号

var obj ={
    
    
name:"孙悟空";
gender:"男";
age:18
}

1.向对象中添加属性(在对象中保存的值称为属性)
语法:
对象.属性名 = 属性值;
向obj中添加一个name属性

obj.name = "孙悟空";

2.读取对象中属性
语法:
对象.属性名
注意:如果读取对象中没有的属性,不会报错而是会返回一个undefined

obj.name

3.修改对象中属性
语法:
对象.属性名 = 新值;

obj.name = "猪八戒";

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

delete obj.name;

三.对象中属性名和属性值
属性名:
对象中属性名不强制要求遵守标识符的规范,什么乱七八糟的都可以使用,但是我们在开发中尽量遵守标识符的规范来写!
如果真要写特殊的属性名,不能用的 . 方式来操作,需要使用另外一种方式
语法:
对象[“属性名”] = 属性值;
读取时候也需要采用这种方式

obj["@$@"] = "孙悟空"

好处:使用[ ]这种形式去操作属性,更加灵活,在[ ]中可以直接传递一个变量,这个变量是多少就会读取那个属性,不容易写死代码!

obj["123"] = 789;
obj["nihao"] = "你好";

var n = "nihao";//输出:"你好"
var n = "123";//输出:789

console.log(obj[n]);

属性值:
js对象中属性值,可以是任意的数据类型,甚至可以是一个对象!

四.检查一个对象中是否含有指定的属性
in 运算符
语法:
"属性名" in 对象
检查obj中是否含有"name"这个属性

console.log("name" in obj);

猜你喜欢

转载自blog.csdn.net/weixin_46505015/article/details/111567190