JavaScript系列从入门到精通系列第十二篇:JavaScript中对象的简介和对象的基本操作以及JavaScript中的属性值和属性名

文章目录

前言

一:对象分类

1:内建对象

2:宿主对象

3:自建对象

二:对象的基本操作

1:创建对象

2:向对象中添加属性

3:读取对象中的属性

4:修改对象中的属性

三:对象中的属性名和属性值

1:属性名

2:属性值

3:检查是否有一个属性


前言

JS中的数据包含String、Number、Boolean、Null、Undefined、Object这是五中基本类型和一种引用数据类型。

以上五中属于基本数据类型,之后我们看到的任何数据类型只要不是这几种数据类型都是Object引用数据类型。

基本数据类型都是单一的值,值和值之间没有任何的联系。在JS当中需要表示一个人的信息。就需要用到Object这种引用数据类型。

一:对象分类

1:内建对象

ES标准中定义的对象,在任何的ES实现中都可以使用,比如:Math、String、Number、Boolean、Object。

2:宿主对象

JS运行环境提供的对象,也就是浏览器提供的对象。就比如BOM和DOM,就再比如我们进行console.log(),这就是一个对象。document.write()这也是一个对象。

3:自建对象

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

二:对象的基本操作

1:创建对象

javascript 复制代码
var obj = new Object();
console.log(obj);//Object{}
//这是一个Object类型的对象,对象内容为空
console.log(typeOf obj);//object

2:向对象中添加属性

javascript 复制代码
对象.属性名 = 属性值
javascript 复制代码
var obj = new Object(); 
console.log(obj);
obj.name = "孙悟空"; 
console.log(obj);

3:读取对象中的属性

javascript 复制代码
var name = 对象.属性名
javascript 复制代码
var obj = new Object(); 
console.log(obj);
obj.name = "孙悟空"; 
console.log(obj);
console.log(obj.name);

4:修改对象中的属性

javascript 复制代码
对象.属性名 = 新值;

三:对象中的属性名和属性值

1:属性名

不强制尊书标识符的规范,什么乱七八糟的名字都可以,但是使用的时候尽量按照规范去使用。

如果要是使用特殊的属性名,不能直接去.了,需要使用另外一种形式对象[123],而且村的时候这么存的话,取的时候我们也只能这么取值。这个东西存取是不可以混用的。

[]这种形式去操作属性,会更加灵活,我们当中可以直接传递一个变量,这样变量值是多少时就会读取这个属性。

javascript 复制代码
var obj = new Object();
obj["123"] = 789;
obj["nihao"] = "你好";

var n = "123";
console.log(obj["123"]);
console.log(obj[n]);

2:属性值

JS对象中的属性值可以是任意的数据类型,甚至可以是一个对象。这样的话,console的时候,对象的部分会是一个{...}

3:检查是否有一个属性

javascript 复制代码
属性名  in  对象
javascript 复制代码
console.log("name" in obj);//false
相关推荐
Hello--_--World4 分钟前
ES13:类私有属性和方法、顶层 await、at() 方法、Object.hasOwnProperty()、类静态块 相关知识点
开发语言·javascript·es13
Hugh-Yu-13012312 分钟前
二元一次方程组求解器c++代码
开发语言·c++·算法
weixin_5206498718 分钟前
C#进阶-特性全知识点总结
开发语言·c#
文祐19 分钟前
C++类之虚函数表及其内存布局
开发语言·c++
comerzhang65525 分钟前
Web 性能的架构边界:跨线程信令通道的确定性分析
javascript·webassembly
亦暖筑序32 分钟前
Spring AI Alibaba 报错合集:我踩过的那些坑
java·后端
编程大师哥36 分钟前
C++类和对象
开发语言·c++·算法
M1582276905537 分钟前
工业 CAN 总线无线互联利器|4 路 CAN 转 4G/WiFi 网关 产品介绍
开发语言·php
zhensherlock44 分钟前
Protocol Launcher 系列:Overcast 一键订阅播客
前端·javascript·typescript·node.js·自动化·github·js
indexsunny1 小时前
互联网大厂Java面试实战:核心技术与微服务架构在电商场景中的应用
java·spring boot·redis·kafka·maven·spring security·microservices